Working Notes on Agent Systems/Brad Zhang

@teach_fireworks / X longform

Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive, but as long as it is interrupted all the time, the state will be broken.

Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive, but as long as it is interrupted all the time, the state will be broken. What annoys me mo...

April 27, 2026 · 3 min read

Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive, but as long as it is interrupted all the time, the state will be broken.
Figure 1 / source image

Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive, but as long as it is interrupted all the time, the state will be broken.

What annoys me most now is not that it can't be done, but that it's obviously on the right track, but it always stops in some places and waits for me to click "Continue".

Sometimes it is login authorization, sometimes it is command approval, and sometimes the model stops and asks "If I continue, what will I do next...".

The more frequently you use it, the more obvious this interruption will be, because it does not interrupt a certain operation, but the entire train of thought and rhythm.

Then I discovered that the official actually provides two very good commands -a never and --full-auto --full-auto, which are suitable for most daily development scenarios: For example, I want Codex to continue to advance tasks in an existing warehouse: supplement implementation, change code, run builds, and modify tests, but I don't want it to have completely out of control permissions as soon as it comes up.

At this time, I prefer to use --full-auto, because it feels like "try to automatically go forward, but still retain the boundaries." -a never is good if you know exactly what you are letting go of: Another scenario is that I already know the current repository, command, and risk boundaries very well, and I just don't want to be interrupted again by "Do you approve this command?" At this time -a never will be more direct, because it solves the approval noise itself.

  • a never just "no longer asks you whether to approve the command" does not mean that it will not hit the sandbox, nor does it mean that the model will not stop on its own because the task description is not clear enough.

For me, a more practical combination is: use --full-auto first when running, and write the requirements clearly at the beginning of the task.

You can add a clear instruction at startup, such as telling it directly: "Unless you encounter destructive operations, file conflicts, or high-risk uncertainties, don't stop to confirm.

Directly implement, modify, build, and verify until the task is completely completed." What this reduces is not a certain pop-up window, but the feeling of being frequently pulled out of the flow.

This is also my experience as I use it more and more recently: The most enjoyable part of using AI tools is not how smart a certain answer is, but that once it enters the state of continuously advancing tasks, the efficiency will be amazing.

What really affects the experience is not the model capability itself, but whether you have defined the automation boundaries and task boundaries together.

Tips: - Runtime automation, try first --full-auto - -a never solves the problem of approval, not all pauses - If you want to reduce the pauses of "If I continue, I will...", the core is to write the initial tasks clearly enough

Visual summary

Article argument map

Generated from the post's content graph

FORMATTOPICCAPABILITYMARKETcoverscoverscoverssignalssignalssignalssignalssignalsFORMATarticle featureTOPICharness engineeringTOPIClong running agentsTOPICtoolingCAPABILITYharness engineeringCAPABILITYlong-running agentsCAPABILITYAI-native workbenchCAPABILITYdeveloper toolingMARKETAI startupMARKETapplied AI team
Mermaid outline
flowchart LR
  format-article["article feature"]
  topic-harness-engineering["harness engineering"]
  topic-long-running-agents["long running agents"]
  topic-tooling["tooling"]
  capability-harness-engineering["harness engineering"]
  capability-long-running-agents["long-running agents"]
  capability-ai-native-workbench["AI-native workbench"]
  capability-developer-tooling["developer tooling"]
  market-ai-startup["AI startup"]
  market-applied-ai-team["applied AI team"]
  format-article -->|covers| topic-harness-engineering
  format-article -->|covers| topic-long-running-agents
  format-article -->|covers| topic-tooling
  format-article -->|signals| capability-harness-engineering
  format-article -->|signals| capability-long-running-agents
  format-article -->|signals| capability-ai-native-workbench
  format-article -->|signals| capability-developer-tooling
  format-article -->|signals| market-ai-startup

Visual structure

Essay structure map

Built from summary and key paragraph positions

Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive...THESISRecently, I have amore obvious feeling:Codex is so easy touse that it isSIGNALRecently, I have amore obvious feeling:Codex is so easy touse that it isOPERATOR-a never just "nolonger asks youwhether to approve thecommand" does not meanIMPLICATIONTips: - Runtimeautomation, try first--full-auto - -a neversolves the problem of
Mermaid outline
flowchart LR
  thesis["Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive, but as long as it is..."]
  signal["Recently, I have a more obvious feeling: Codex is so easy to use that it is addictive, but as long as it is..."]
  operator["-a never just \"no longer asks you whether to approve the command\" does not mean that it will not hit the sa..."]
  implication["Tips: - Runtime automation, try first --full-auto - -a never solves the problem of approval, not all pauses..."]
  thesis -->|frames| signal
  signal -->|develops| operator
  operator -->|lands in| implication

Source: View the original post