feat(coding-agent): expose session metadata to bash tools (#6967)
This commit is contained in:
@@ -662,6 +662,7 @@ pi --thinking high "Solve this complex problem"
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `PI_CODING_AGENT` | Set to `true` by the CLI and RPC entry points so child processes can detect that they run inside Pi |
|
||||
| `PI_CODING_AGENT_DIR` | Override config directory (default: `~/.pi/agent`) |
|
||||
| `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory (overridden by `--session-dir`) |
|
||||
| `PI_PACKAGE_DIR` | Override package directory (useful for Nix/Guix where store paths tokenize poorly) |
|
||||
@@ -671,6 +672,18 @@ pi --thinking high "Solve this complex problem"
|
||||
| `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache (Anthropic: 1h, OpenAI: 24h) |
|
||||
| `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |
|
||||
|
||||
Commands run by the LLM-callable bash tool also receive current session metadata:
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `PI_SESSION_ID` | Current session ID |
|
||||
| `PI_SESSION_FILE` | Absolute session JSONL path; unset for ephemeral sessions |
|
||||
| `PI_PROVIDER` | Currently selected model provider |
|
||||
| `PI_MODEL` | Currently selected model ID |
|
||||
| `PI_REASONING_LEVEL` | Current effective reasoning level |
|
||||
|
||||
These values are resolved when each command starts. See [Environment Variables](docs/environment-variables.md#bash-tool-session-environment) for semantics, examples, and custom-tool opt-out.
|
||||
|
||||
---
|
||||
|
||||
## Contributing & Development
|
||||
|
||||
Reference in New Issue
Block a user