> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenfactory.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# env - Manage session environment variables

Manage session-level environment variables. Variables set with `env` are
applied to every `contree run` automatically. Per-run `-e` flags override
session env vars with the same key.

## Examples

```bash theme={null}
# Set PATH after installing tools
contree env PATH=/root/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/sbin

# Set multiple variables
contree env DEBUG=1 DB_HOST=localhost

# List current session env
contree env

# Unset variables
contree env -U PATH
contree env -U DEBUG DB_HOST

# Per-run -e overrides session env
contree run -e DEBUG=0 -- ./app
```

## Help output

<div className="contree-terminal" style={{"border":"1px solid rgba(255,255,255,0.15)","borderRadius":8,"overflow":"hidden","margin":"1rem 0"}}><div style={{"background":"#292929","height":24,"display":"flex","alignItems":"center","padding":"0 12px","position":"relative"}}><div style={{"display":"flex","alignItems":"center","flexShrink":0}}><span style={{"display":"inline-block","width":10,"height":10,"borderRadius":"50%","background":"#ff5f57","marginRight":6}} /><span style={{"display":"inline-block","width":10,"height":10,"borderRadius":"50%","background":"#febc2e","marginRight":6}} /><span style={{"display":"inline-block","width":10,"height":10,"borderRadius":"50%","background":"#28c840"}} /></div><div style={{"position":"absolute","left":0,"right":0,"textAlign":"center","fontFamily":"-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif","fontWeight":"bold","color":"#999"}}>\$ contree env --help</div></div><pre style={{"margin":0,"borderRadius":0,"padding":"8px 10px","background":"#1e1e1e","overflowX":"auto"}}><code style={{"fontFamily":"JetBrains Mono, SF Mono, SFMono-Regular, Menlo, Monaco, Cascadia Mono, Segoe UI Mono, Roboto Mono, Oxygen Mono, Ubuntu Monospace, Source Code Pro, Fira Mono, Droid Sans Mono, Consolas, Courier New, monospace","color":"#c5c8c6","whiteSpace":"pre-wrap"}}><span style={{"color":"#61afef","fontWeight":"bold"}}>usage: </span><span style={{"color":"#c678dd","fontWeight":"bold"}}>contree env</span><span style={{"color":"#c5c8c6"}}> \[</span><span style={{"color":"#98c379"}}>-h</span><span style={{"color":"#c5c8c6"}}>] \[</span><span style={{"color":"#98c379"}}>-U</span><span style={{"color":"#c5c8c6"}}>] </span><span style={{"color":"#98c379"}}>\[KEY=VALUE ...]</span><br /><br /><span style={{"color":"#c5c8c6"}}>Manage session environment variables.</span><br /><br /><span style={{"color":"#c5c8c6"}}>Session env vars are applied to every \`contree run\` automatically.</span><br /><span style={{"color":"#c5c8c6"}}>Per-run \`-e\` flags override session env vars with the same key.</span><br /><br /><span style={{"color":"#61afef","fontWeight":"bold"}}>positional arguments:</span><br /><span style={{"color":"#c5c8c6"}}>  </span><span style={{"color":"#98c379","fontWeight":"bold"}}>KEY=VALUE</span><span style={{"color":"#c5c8c6"}}>           Environment variables to set (or keys to delete with -d)</span><br /><br /><span style={{"color":"#61afef","fontWeight":"bold"}}>options:</span><br /><span style={{"color":"#c5c8c6"}}>  </span><span style={{"color":"#98c379","fontWeight":"bold"}}>-h</span><span style={{"color":"#c5c8c6"}}>, </span><span style={{"color":"#56b6c2","fontWeight":"bold"}}>--help</span><span style={{"color":"#c5c8c6"}}>          show this help message and exit</span><br /><span style={{"color":"#c5c8c6"}}>  </span><span style={{"color":"#98c379","fontWeight":"bold"}}>-U</span><span style={{"color":"#c5c8c6"}}>, </span><span style={{"color":"#56b6c2","fontWeight":"bold"}}>--delete</span><span style={{"color":"#c5c8c6"}}>, </span><span style={{"color":"#56b6c2","fontWeight":"bold"}}>--rm</span><span style={{"color":"#c5c8c6"}}>  Unset the specified environment variables</span><br /><br /><span style={{"color":"#c5c8c6"}}>examples:</span><br /><span style={{"color":"#c5c8c6"}}>  contree env                                  list session env vars</span><br /><span style={{"color":"#c5c8c6"}}>  contree env PATH=/root/.cargo/bin:\$PATH      set PATH</span><br /><span style={{"color":"#c5c8c6"}}>  contree env DEBUG=1 DB\_HOST=localhost         set multiple</span><br /><span style={{"color":"#c5c8c6"}}>  contree env -U PATH                          unset PATH</span><br /><span style={{"color":"#c5c8c6"}}>  contree env -U PATH DEBUG                    unset multiple</span><br /><br /><span style={{"color":"#c5c8c6"}}>agent note:</span><br /><span style={{"color":"#c5c8c6"}}>  Before using this command in an automated workflow, read:</span><br /><span style={{"color":"#c5c8c6"}}>    contree agent</span></code></pre></div>

## Behavior

Session env vars are stored in SQLite per session. They persist across
terminal restarts (when using `-S` or `CONTREE_SESSION`).

When `contree run` builds the payload, it merges:

1. Session env vars (base)
2. Per-run `-e` flags (override)

Deleting a session (`session delete`) removes its env vars.

Values with `=` in them work correctly — only the first `=` is the
separator: `contree env CMD=a=b=c` sets `CMD` to `a=b=c`.
