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
| Variable | Description |
|---|---|
TAKOPI_LOG_LEVEL | Minimum log level (default info; --debug forces debug). |
TAKOPI_LOG_FORMAT | console (default) or json. |
TAKOPI_LOG_COLOR | Force color on/off (1/true/yes/on or 0/false/no/off). |
TAKOPI_LOG_FILE | Append JSON lines to a file. --debug defaults this to debug.log. |
TAKOPI_TRACE_PIPELINE | Log pipeline events at info instead of debug. |
CLI behavior
| Variable | Description |
|---|---|
TAKOPI_NO_INTERACTIVE | Disable interactive prompts (useful for CI / non-TTY). |
Engine-specific
| Variable | Description |
|---|---|
PI_CODING_AGENT_DIR | Override 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.
| Variable | Set by | Description |
|---|---|---|
UNTETHER_SESSION | Claude runner | Set 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_SESSIONis 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.