OpenAI shipped GPT-6.1 Sol at DevDay on September 29 at the same list price as GPT-6 Sol, $2 per million input tokens and $10 per million output, with cached input cut in half to $0.10. The detail that matters most to a team running several Codex agents is quieter. The start-up screen in the Codex CLI docs now reads gpt-6.1-sol medium. On any Computer that does not pin a model, your Agents change models when someone updates Codex on that Computer, not when anyone decides they should.
Sharkly will not show that change. The Agent follows the Runtime’s default model and displays no model name, so after this week two Agents with identical instructions can run different models on two Computers while their Tasks look the same on the board. Which agent is on which model, and which result came from which one, becomes a question answered from memory. This guide covers only the delta since our GPT-6 Sol guide: where the new default comes from, when to pin it, the two settings that moved, and how a Crew should route work now that the middle tier sits closer to the top.
TL;DR
GPT-6.1 Sol reaches Sharkly through the Codex Runtime on a Computer, and nothing in Sharkly changes when it does. Check which Codex build each Computer runs and whether its ~/.codex/config.toml pins a model. Unpinned Computers follow the CLI default, which the docs now show as gpt-6.1-sol at medium effort. Computers set up from our earlier guide stay on gpt-6-sol until someone edits one line. Replace any none effort with low, expect the halved cache price to show up on API-key Computers rather than plan sign-ins, and treat the routing table below as a rule to test on your own Tasks, not a verdict.
What changed under the Codex Runtime
The Agents documentation explains why this is a post about Computers rather than Agents: “The Agent follows the Runtime’s default model. It does not promise or display a specific model name. Change models in the Runtime or Computer tool configuration, not on the Agent.” The upgrade is a Runtime event. Here is the delta a Crew feels:
| GPT-6 Sol | GPT-6.1 Sol | What to do | |
|---|---|---|---|
| Model ID | gpt-6-sol |
gpt-6.1-sol |
Decide per Computer: pin it or follow the default |
| Input / output per 1M | $2 / $10 | $2 / $10 | Nothing |
| Cached input per 1M | $0.20 | $0.10 | Counts on long runs billed to an API key |
| Reasoning effort | none to max, medium default |
low to max, medium default; no none or minimal |
Move none to low, then re-check results |
| Knowledge cutoff | Apr 20, 2026 | Apr 30, 2026 | Ten days newer; minor for most repositories |
| Access | Plus, Pro, Business, Enterprise, Edu | Same, in ChatGPT Work and Codex; not in Chat; off by default on Enterprise and Edu until an admin enables it | Enterprise and Edu Computers may need an admin first |
The refreshed Codex CLI also added voice, an /agents view, prompt editing, resume and worktrees on all plans. They are worth using whenever you drive Codex by hand from a terminal. Once the work belongs to the team, the Task is the shared record. In Temporary mode Sharkly gives each Task its own directory and, for repository work, can prepare a fresh worktree, and the run’s status, log, questions and result return to the Task where the next person can find them.
Pin the model, or let each Computer follow the default
Start with an inventory, because the answer can differ per Computer. sharkly computer list shows the Computers registered to your organization, and sharkly computer show <computer-id> returns one Computer with its Runtimes. On the Computer itself, starting codex prints the build and the model. The Codex changelog shows version 0.159.1 (September 29) made GPT-6.1 Sol the default, and the docs’ sample session shows model: gpt-6.1-sol medium.
Look for two things. First, which binary runs. On macOS, a Computer with no standalone Codex can register the Codex CLI bundled inside the ChatGPT desktop app as its Runtime, and Sharkly’s docs recommend a Codex you installed and put on PATH instead. Second, which configuration layer sets the model. The Codex config basics put personal defaults in ~/.codex/config.toml, let a repository override them with its own .codex/config.toml (loaded only for trusted projects), and let -m or --model on the command line win over both.
A decision pair. Let a Computer follow the default when one person owns it, runs a handful of Tasks a week, and would rather track OpenAI’s recommended model than maintain a config line. Pin the model when several people assign work to Agents on that Computer, when a Crew spans more than one Computer, or in the middle of a Sprint, where a silent change makes Tuesday’s result and Thursday’s result look alike on the Task when they were not.
To pin it, edit the user config on the Computer that runs the Codex Runtime:
# ~/.codex/config.toml
model = "gpt-6.1-sol"
model_reasoning_effort = "medium"
Both keys appear in the Codex config docs with these values. If you followed our GPT-6 Sol guide, that file already says model = "gpt-6-sol", and that Computer will not move on update. Change the line when you are ready, not before.
Update Codex with the installer the docs use for both install and update, or ask Sharkly to request a CLI update for one Runtime:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# or, from anywhere with the Sharkly CLI:
sharkly computer update <computer-id> <runtime-id>
Then run the rescan or connection test in Computer detail and confirm the Codex Runtime reads Available. Finally, write the pinned model into the Agent’s description. A reviewer reading a diff should not have to open a shell on some Computer to learn which model wrote it.
The two settings that moved: effort and cache
none is gone. GPT-6.1 Sol accepts low, medium, high, xhigh and max, and neither none nor minimal. A Computer whose config asks for none, a natural choice for a fast lane on GPT-6 Sol, needs low before it moves, and the results deserve a second look, because low still reasons. If a run does fail on the old setting, the execution log keeps the title and the model service’s original response, and Sharkly’s troubleshooting guidance for an unsupported option is to check the model and request options rather than retry blind.
The cache is the quieter win. OpenAI prices cached input at $0.10 per million, “95% less than standard input pricing and 50% less than GPT-6 Sol’s cached input pricing.” Long-running Agents are where that shows. A run that works through one repository for an hour keeps re-sending much of the same context, and Crew members that start from the same repository layout, rules and test commands reuse the same prefix all day.
Three caveats keep this honest. The per-token saving only appears on a Computer where Codex bills an API key; a Computer signed in with a ChatGPT plan spends plan usage instead, which is the subject of the sibling post on running GPT-6.1 Sol without an API key. The list price did not move, so uncached work costs what it did last week. And long contexts carry a surcharge: OpenAI prices any prompt over 272K input tokens at 2x the input and cache rates and 1.5x output for the whole request, so an Agent that drags a huge context through every turn should get a smaller, stable prefix before it gets a bigger budget.
Route the Crew: Astra, 6.1 Sol, Luna, or a Claude Runtime
OpenAI’s case for 6.1 Sol is near-Astra results at a fraction of the cost, and every number behind it comes from OpenAI’s own runs. On DeepSWE v1.1, OpenAI says 6.1 Sol matches Astra at roughly one-fifth of the cost and beats GPT-6 Sol’s best score by 6.4 points at lower effort. On OSWorld 2.0, a computer-use benchmark, it lands within 2.1 points of Astra at max effort for about one-seventh of the cost per task. OpenAI is also explicit about the limit: Astra still scores highest on Terminal-Bench Science, at 68.1%, and OpenAI says to use Astra for the hardest science work.
OpenAI’s model-selection guide sorts the family the same way, Astra for ambiguous problems, 6.1 Sol for complex work where time and cost matter, Luna for scoped tasks and triage, and calls its own guidance a starting point. Because the model lives in the Runtime configuration, a routing rule in Sharkly is a rule about Computers: an Agent bound to a Computer whose Codex defaults to Astra runs Astra. A starting rule to test:
| Crew role | Start on | Move it when |
|---|---|---|
| Leader interpreting an ambiguous goal | Codex on GPT-6 Astra | Plans come back routine for a whole Sprint; try 6.1 Sol |
| Members on bounded features, bugs with a reproduction, single-module refactors | Codex on GPT-6.1 Sol, medium | A class of Task fails twice; a person escalates it |
| The hardest Tasks, including 6.1 Sol runs that failed | Codex on GPT-6 Astra | Never automatically; a person moves the Task |
| Triage, labels, scaffolding, dependency bumps | Codex on GPT-6 Luna | Reviewers start rewriting its output |
| Work your team already trusts to Claude, or a second-vendor review | Claude Code | Your own comparison says otherwise |
The last row is provider neutrality written down, not a benchmark claim. Claude Sonnet 5.5 shipped a day before 6.1 Sol at the same $2 and $10, and OpenAI’s post compares 6.1 Sol against Opus 5.5 and Fable 5.1, never Sonnet 5.5. No vendor has published that head-to-head, so the only comparison that counts is the one you run on your own Tasks. The full argument for a written rule with a manual escalation path is in model routing for Crews.
None of this changes the end of the line. A cheaper path to near-Astra results means more finished runs per day, and every one still ends at a person who reads the diff. Agents research, execute, test, and report. People set direction, grant authority, and accept the result. The useful work this week is making sure the board can answer which Computer ran which model, what finished, what failed on a stale effort setting, and what is waiting for review. If you still juggle Codex terminals by hand, managing multiple Codex agents walks through the manual version first.
You can build this manually with worktrees, or use Sharkly to manage the workflow.



