Skip to main content
Reference Last updated: 9 March 2026

Environment variables

Untether supports a small set of environment variables for logging and runtime behavior.

Untether supports a small set of environment variables for logging and runtime behavior.

Logging

VariableDescription
TAKOPI_LOG_LEVELMinimum log level (default info; --debug forces debug).
TAKOPI_LOG_FORMATconsole (default) or json.
TAKOPI_LOG_COLORForce color on/off (1/true/yes/on or 0/false/no/off).
TAKOPI_LOG_FILEAppend JSON lines to a file. --debug defaults this to debug.log.
TAKOPI_TRACE_PIPELINELog pipeline events at info instead of debug.

CLI behavior

VariableDescription
TAKOPI_NO_INTERACTIVEDisable interactive prompts (useful for CI / non-TTY).

Engine-specific

VariableDescription
PI_CODING_AGENT_DIROverride Pi agent session directory base path.

Runner environment

These variables are set automatically by Untether in the engine subprocess environment. They are not user-configurable.

VariableSet byDescription
UNTETHER_SESSIONClaude runnerSet to 1 for all Claude Code subprocess invocations. Enables Claude Code plugins to detect Untether sessions and adjust behaviour — for example, skipping blocking Stop hooks that would displace user-requested content in Telegram.

Not a security concern UNTETHER_SESSION is a simple signal variable, not a credential or secret. It tells Claude Code plugins that the session is running via Telegram so they can avoid interfering with Untether’s single-message output model. Plugins like PitchDocs check for this variable and skip blocking hooks that would otherwise consume the final response with meta-commentary instead of the user’s requested content. See the PitchDocs interference audit for the full analysis.

Was this helpful?

Related Articles