karta.jsonc is an optional file that tunes Karta’s behavior without touching
your agent definitions. It is JSONC (JSON with comments and trailing commas).
Every key is optional, and the file lives at ./karta.jsonc in the agent
project folder.
Choose the right config file
Full example
karta.jsonc
Behavior summary
cli
Event types the CLI should not render - e.g.
["system", "step_start"]. Useful to quiet noisy harness internals.How the CLI handles
input_required
approval prompts: prompt, deny, approve_once, approve_session, or
error.The auto-decision applied to approval prompts that are hidden (so the user
is not asked for events they cannot see).
harness.claude
How long the harness may stay idle before it is shut down.
Optional extended-thinking budget for turns that request reasoning.
Whether Karta intercepts the harness’s approval prompts (vs. letting the
harness handle them).
Enables the agent command surface.
runtime
How a deployed agent treats approvals for tools that are not on the
.claude/settings.json allowlist.
interactive pauses each off-allowlist tool as a tool-permission prompt the end
user answers over the API (approve_once, approve_session, deny);
autonomous auto-approves for the session (maps to approve_session). Set
autonomous for unattended/headless deployments that should never pause - it
bypasses the approval prompt entirely, so reserve it for trusted agents.profile
The default human participant name for CLI sessions.
A friendly display name for that participant. Falls back to your OS user if
unset.
karta.jsonc governs run-time behavior;
karta.toml governs publish/build. OpenCode’s own
harness config lives separately in .opencode/opencode.jsonc.Verify the file is being read
Run a one-shot local turn with an explicit config path:permission_mode:

