Skip to main content

Output, Language, and Errors

ecctl is JSON-first. Use text only when a human is reading command output.

Output Mode

JSON output:

ecctl capabilities --output json

Text output:

ecctl capabilities --output text

Force JSON regardless of configured defaults:

ecctl --json capabilities

Wrap JSON in the Agent envelope:

ecctl --agent-envelope capabilities

Language

Help and user-facing messages support English and Simplified Chinese:

ecctl --lang en --help
ecctl --lang zh-CN --help

Persist the language preference:

ecctl configure set lang zh-CN

Scripts that assert exact text should pass --lang explicitly.

Structured Errors

Capabilities report that structured errors are written to stdout and can include these fields:

FieldMeaning
kindError category
codeStable error code
messageUser-facing message
retryableWhether retry is appropriate
suggestionHuman-readable suggestion
suggested_actionMachine-oriented next action
fieldRelated input field
accepted_valuesValid values when available

Use JSON output when automating error handling. See the Error Model reference for error categories and exit behavior.

Color

Disable color in human-readable output:

ecctl --no-color --output text capabilities

Set ECCTL_DISPLAY_MODE=AI or ECCTL_DISPLAY_MODE=agent for compact, non-highlighted output that is easier for agents to parse. Set ECCTL_DISPLAY_MODE=Human for human display: pretty JSON and highlighted text. The value is case-insensitive, so ai, Agent, and AGENT work too.

By default, ECCTL_DISPLAY_MODE is auto: terminal output uses Human, while non-terminal output such as pipes, redirects, and CI logs uses AI.