Pytxo

pytxo.toml

Configuration reference for agents, tasks, billing, cloud, and MCP hub.

Top-level keys

KeyDefaultDescription
max_agents3Max parallel agents per wave
worktree_dir.pytxo/worktreesWorktree root
data_dir.pytxo/dataSQLite + state
fail_fasttrueFail run if any agent exits non-zero
permission_profileorbitSee permission tiers
sanitizetrueRedact secrets before logs/MCP
signal_coretrueScaffold context for task paths
signal_fidelitylowlow | medium | high (context tier, not permission)
isolationworktreeworktree | overlay
dag_explicit_depsfalseForce DAG scheduling mode
subprocess_stdinoffPump Race Shield stdin into subprocess children at spawn
execution_backendptypty | subprocess | cloud

[[agent]]

KeyDescription
nameScheduling profile name (referenced by [[task]].agent)
pathsOptional owned globs
permission_profileOptional per-agent override
modelModel id for billing router / BYOK
providerProvider id (deepseek, openrouter, openai, ...)
cli_adapterCLI adapter (claude, generic, ...)
api_key_envOptional env var name for BYOK key

Trusted folder tier from Folder trust overrides top-level permission_profile when the repo is trusted.

[[task]]

KeyDescription
idTask identifier
agentAgent profile name
pathsPaths for conflict preflight and Signal Core
depends_onTask ids that must finish first
rootOptional modular project root label
signal_fidelityPer-task fidelity override

Tasks with overlapping paths are scheduled in different waves.

[billing]

Ultra managed metering. Default remains BYOK.

KeyDefaultDescription
modebyokbyok | ultra
proxy_urlhttps://link.pytxo.comPytxo Link base URL
inference_proxy_urlhttps://proxy.pytxo.comUltra managed-inference proxy
link_reconciledepends on modePOST run start/end envelopes when Ultra
reserve_microcredits500000Wallet reserve per run
initial_balance_microcredits10000000Local Ultra seed balance

Set PYTXO_ULTRA_SESSION for Link Authorization. User guide: Ultra.

[cloud]

Remote sandbox execution (capability-gated).

KeyDefaultDescription
enabledfalseEnable cloud HTTP clients
sandbox_urlhttps://cloud.pytxo.com/v1Cloud sandbox API base
cache_enabledtrueScaffold cache
fallback_localtrueFall back to local PTY when cloud unreachable

Set PYTXO_CLOUD_SESSION for Authorization. Use execution_backend = "cloud" or pytxo run --execution cloud.

[mcp_hub]

KeyDefaultDescription
enabledtrueRegister child MCP sessions during runs
allowlist[]Empty = all commands; else match substrings in run cmd

[planner]

KeyDefaultDescription
enabledfalseNatural-language mission planner in the shell

Minimal example

max_agents = 3
permission_profile = "orbit"
signal_core = true
signal_fidelity = "low"
isolation = "worktree"

[[agent]]
name = "builder"
paths = ["src/**"]
cli_adapter = "generic"
provider = "deepseek"
model = "deepseek-chat"
api_key_env = "DEEPSEEK_API_KEY"

[[task]]
id = "build-a"
agent = "builder"
paths = ["src/a.ts"]

[[task]]
id = "build-b"
agent = "builder"
paths = ["src/b.ts"]

Overlapping paths force separate waves. The sample above is enough to dry-run; extend [[agent]] and [[task]] blocks as your project grows.

pytxo run --config pytxo.toml --dry-run
pytxo run --config pytxo.toml --cmd "echo pytxo"

If no config tasks are defined, pytxo run --agents N uses synthetic disjoint paths.

On this page