Termic doesn’t reimplement any agent. It spawns real CLIs in terminals. The list of which CLIs it knows about is an editable registry, so you’re never limited to what shipped in the box.
The built-in agents
Six agents are recognized out of the box and auto-detected on your PATH:
claude: Anthropic’s Claude Code.codex: OpenAI’s Codex CLI.agy: Google’s Antigravity CLI.copilot: GitHub Copilot CLI.grok: xAI’s Grok CLI.opencode: the opencode CLI.
On the welcome screen and in the new-task picker, installed agents show green and missing ones gray. You only need one. If none are installed, Termic offers a plain Terminal (a login shell) as the default so the app is still useful while you set an agent up.
Bring your own agent
Settings → Agents is a fully editable registry. Anything that runs in a terminal can be an agent in Termic: aider, ollama run, a wrapper script of your own. Adding one takes about thirty seconds.
Each agent entry has a handful of fields:
- Command: the executable to run (e.g.
aider). - Args: default arguments passed on every spawn.
- YOLO args: the arguments that skip per-action permission prompts (e.g. Claude’s
--dangerously-skip-permissions). Termic adds these automatically when a task is sandboxed, since the cage is the real boundary. - Runtime YOLO command: for CLIs that toggle permission mode at runtime rather than via a launch flag.
- Sandbox allowed hosts: extra hosts (one per line,
*is a wildcard) joined into the network allowlist of every task that runs this agent. Set your company’s API once here and every Claude or Codex task inherits it; this is also where the activity popover saves a host when you allow it “per agent”. - Resume behavior: how the CLI reconnects to a prior session, so auto-resume works.

The agent registry: command, args, the YOLO flag and resume behavior for every built-in and any CLI you add. Reset built-ins, add an agent, or add a custom terminal from the top.
Once registered, your custom agent appears everywhere the built-ins do: the new-task picker, the new-tab menu, the code review dialog, and as a selectable default CLI.
Custom commands and plain terminals
Sometimes you don’t want an agent at all, you want a specific tool launched against your repo. The project menu’s Custom command option opens the repo’s current branch and runs a command of your choosing in a terminal tab: an ssh session, a dev server, a REPL, k9s --context=.... The command runs in a login shell and drops back to a usable shell when it exits, so you can keep working in the tab afterward. It’s how people keep, say, every Kubernetes cluster one click away in the sidebar.
There’s also a plain Terminal entry that just opens the repo in a shell tab, no agent involved.
Work-done detection per agent
Termic detects when an agent finishes a turn from the signals the CLI emits (see Work-done & notifications). The built-ins have tuned classifiers. A custom CLI might emit output that trips a false “done”, so each agent has a Work-done detection toggle in Settings → Agents to turn it off for that agent. Agents that emit no status signals at all show an attention bell instead of a done dot, because “finished” and “waiting for input” can’t be told apart without a signal.
Default agent
Each project has a default CLI, used when you open a task without explicitly picking one. The Terminal fallback is always in the list, so a project is never stuck without something to launch.
Related
- Work-done & notifications: how Termic knows an agent is done.
- Sandbox overview: running agents unattended, safely.
- Settings reference: where the registry lives.