Work with Codex in Workspace
Start a personal conversation, steer or interrupt a run, understand the one running conversation per environment, connect your own provider account and read usage. Running Codex inside an environment has not been validated.
- Availability: Experimental
- Evidence: Recorded run
- How-to guide
Before you start
- Your environment must be Ready, and your role must allow running the agent.
- A run needs your own provider connection. An installation without a provider refuses every run.
Conversations are personal
Workspace says it under every conversation: "Conversations are personal. Other members see the code you integrate, never this."
- A conversation, its messages, its changes and its checks belong to one person. To anyone else it does not exist: the answer for another member, including an Owner or an Administrator of the organization, is the same as for an identifier that never existed.
- Integrating shares the code and nothing of the conversation that produced it.
- Conversations are kept and resumed; you find them under Conversations, per environment, on any device.
Start one
- Open Work, or choose New conversation. An empty one asks "What should change in {project}?" with the name of the project: "Describe the work. Codex edits the same files you do; its changes meet the same revisions and conflicts as yours."
- Write in Message ("Describe the change…") and choose Send.
The conversation shows You, Codex, a Plan when there is one, the files it changed and the checks it ran. Its state is one of Idle, Queued, Running, Waiting for you, Stopping, Completed, Failed, Interrupted by you or Interrupted: outcome unknown.
| In the conversation | Meaning |
|---|---|
| A change marked By this run | "The coordinator observed this run writing exactly this revision." |
| A change marked Author uncertain | "The file changed during the run, but the write was not observed as this run’s own." Your own edit of the same file during the run is enough to make it uncertain |
| Build or Command with passed, failed, cancelled or superseded by a newer change | A check that ran, and only that. It is not an approval |
When your message cannot be sent, the box keeps it and says why:
| You see | Meaning |
|---|---|
| "Connect your Codex account to send this" | "A turn runs with your own provider connection, and you have none yet. Your message is still in the box." See Connect your own provider account |
| "This installation has no agent provider" | "Nothing is wrong with your account or your message: Codex is not configured here, so conversations cannot run. An administrator of the installation enables it." |
Codex writes through the same rules as you: if it changes a file in which you have unsaved text, you get a conflict and your text is kept.
Steer or interrupt a run
While a conversation runs, the message box reads "Steer the running conversation…". Steer sends your text to the run in progress; it appears as "You, while it ran". Interrupt stops it: the state passes through Stopping to Interrupted by you.
Interrupted: outcome unknown is different: "The environment or the coordinator was lost while this ran. Its last step may or may not have happened; check the changes." Look at Review before you continue.
One conversation runs at a time
"One conversation runs at a time in this environment." If you send a message while another of your conversations is running, nothing is sent and Workspace says "Another conversation is running in this environment", naming it: "One conversation runs at a time per environment; wait for it, or interrupt it there." Go to it opens that conversation.
It is always one of your own, because an environment has one person. Your colleagues' environments run in parallel with yours. A running conversation also keeps your environment from being stopped for inactivity.
Connect your own provider account
In Account and preferences, Codex connection says: "This connection is yours alone. It is never shared with other members and never leaves through Workspace."
| State | Meaning |
|---|---|
| Not connected | Choose Connect |
| Waiting for you to finish signing in | "Finish signing in at the provider, then refresh." Open the sign-in page leads there |
| Connected, with ChatGPT sign-in or API key | Disconnect removes it |
| "Connection state unavailable" | The state could not be read. It is not "not connected" |
With the environment stopped, the panel says "Start an environment to connect": "Your provider sign-in lives in your own environments, so one of them has to be running while you connect." In an installation without a provider it says "There is nothing to connect to here until an administrator of the installation configures one."
Workspace shows a state, never a credential. The credential stays in storage that only your own environments mount, so the connection can only be made while one of your environments is running.
Usage is never shown as zero
Usage, and Usage of this conversation, show Runs, Tokens in / out and a cost.
- A measure that nobody reported reads Unavailable. It never reads 0. When only some runs reported tokens, the panel says how many: "Reported by {reported} of {runs} runs".
- The cost line is titled Cost when it is unavailable, Cost (estimated) or Cost (verified). It is verified only when every run in view carries an amount in one currency. Nothing produces an amount today, so expect Unavailable.
- You see your own usage. Someone who manages the organization's resources sees the organization's.
Next action
Review what changed before you integrate it.