WARSHALL
Docs/Agents/Providers

Providers

Warshall runs your work through the coding agent command line tools on your machine. Settings > AI Providers is where you install them, keep them current, remove them and choose the models new terminals start on.

The providers

The tab strip in Settings > AI Providers has one tab per command line tool. An exclamation mark beside a tab’s name means that tool is not installed on this machine.

ProviderCommandRuns terminal work
ClaudeclaudeYes
CodexcodexYes
CursoragentNot yet
OpenCodeopencodeNot yet
Custom endpointnoneYes, through Warshall’s own loop

Cursor and OpenCode can be installed, updated and removed like the others. Their tab says Terminal runs do not route to this provider yet. A terminal set to a model whose provider cannot run yet prints a line saying only Claude and Codex run for now, and does nothing else.

A custom endpoint is not a tab. See custom endpoints below.

Install, update and uninstall

Each tab opens on a card with the tool’s name and its installed version. When the tool is missing the card says Not installed, names the command an install would run, and offers Install. When it is installed the card offers Uninstall. While either runs, a bar sweeps under the name, and it keeps sweeping until Warshall has checked the machine again, so the card never shows a stale state in between.

Under the name, the card names the command an update runs. Update runs it. Check for updates asks the npm registry for the latest published version and shows it in the same place. Cursor is not published on npm, so its card has no check button.

ProviderInstallUpdateUninstall
Claudenpm install -g @anthropic-ai/claude-codeclaude updatenpm uninstall -g @anthropic-ai/claude-code
Codexnpm install -g @openai/codexnpm install -g @openai/codex@latestnpm uninstall -g @openai/codex
CursorCursor’s own install scriptagent updateRemoves the folders its install script made
OpenCodenpm install -g opencode-ainpm install -g opencode-ai@latestnpm uninstall -g opencode-ai
  • An install or update that needs npm on a machine without it installs Node.js first, through winget on Windows or Homebrew on macOS. Where it cannot, as on Linux, the row names the command to run yourself.
  • An uninstall removes the tool only. Your sign ins and the tool’s own config files stay where they are.
  • If the tool is still found after an uninstall, the row says Still installed from another location. That copy was installed some other way, and Warshall leaves it alone.
  • A command that fails shows the last lines of its output under the row.

An install can put the tool in a folder that was not on your path when the app started. Warshall reads the system path again after every install, update and uninstall, so the new version is found without a restart.

Defaults

The Defaults section at the top of the tab covers the whole app.

RowWhat it does
Default providerClaude or Codex, the provider a new terminal opens on.
Fallback modelThe model and effort Warshall uses for its own background work, such as commit subjects, goal checks, build scripts, WorkMap generation and code walkthroughs. It shows the entry for the default provider selected above it.
New terminalsMost recently used opens a new terminal on the model you last picked for its provider. Provider default opens it on the default model set in that provider’s tab.

Once an account for Claude or Codex is linked, that provider’s tab also carries its Default model with a reasoning level, and its Subagents shortlist. See Subagents. Until then the tab asks you to add an account first.

A project can open its new terminals on a different provider. Set it in Settings > Projects under Default provider. A project with no provider of its own shows the app’s default provider selected there.

Terminal agent runs

This section picks one of two run modes for the whole app.

  • CLI session keeps the provider’s command line tool running inside each terminal between prompts.
  • Headless (-p) starts the tool once per prompt and reads its output as it streams.

The choice only changes how Claude runs. Codex always starts once per prompt and picks its session back up, whichever mode is set.

Every Codex run is told the model the terminal’s picker shows, so it never falls back to the model named in its own config file. It runs in Codex’s workspace write sandbox, which on Windows uses Codex’s unelevated Windows sandbox, so no setup is needed.

Provider config files

Each tab lists the provider’s own configuration files, with the path of each and a note when it has not been created yet. View opens a file read only in a window over Settings.

  • Claude has its settings file and its global memory under ~/.claude.
  • Codex has its config and its global instructions under ~/.codex.
  • Cursor has its CLI config, and OpenCode its config file.

Settings never edits these files. Warshall does add one short, fixed paragraph to the instructions of every terminal model, asking it not to narrate the automatic commits and to stay inside its own checkout. Claude receives it as an addition to its system prompt. Codex has no such option, so Warshall keeps a marked block in the AGENTS.md of each linked Codex account’s own folder, with that paragraph, the skills a run may read and the conversation’s standing instructions. For the Codex sign in Warshall adopted, that folder is ~/.codex. Everything outside the marked block stays exactly as you wrote it.

Custom endpoints

Warshall can also run a model served over an OpenAI compatible endpoint. Add one in Settings > Accounts under Custom endpoints with a label, a base URL and an optional key.

These models have no command line tool of their own, so Warshall runs them with a loop of its own. The loop has four tools. It can read a file, write a file, edit a file and run a command, all inside the terminal’s own checkout. Each run has a turn limit and a time limit.

A terminal set to such a model with no endpoint linked says so and does not run.