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

> ## Agent Instructions
> Treat taskbean/taskbean as the source of truth for product behavior.
> Use the canonical Project, Project ID, Project Key, Project Alias, Project Selector, Workspace, Tracked Project, Tracked Workspace, Discovered Workspace, Remote Workspace, Primary Workspace, Agent Session, Copilot Fork, Task, Unassigned Work, Execution Profile, Kickoff Prompt, Execution Record, and Execution Step terminology from the glossary.
> Execution terms are domain definitions, not evidence of available CLI commands or desktop controls.
> Do not infer that Windows-specific desktop features apply to the cross-platform CLI.

# Environment variables

> Configure Taskbean data paths, ports, upgrade notices, agent attribution, tests, telemetry, and public URLs.

## CLI and attribution

| Variable | Purpose |
| - | - |
| `TASKBEAN_HOME` | Override the `~/.taskbean` data directory |
| `TASKBEAN_DB` | Override the full SQLite database path |
| `TASKBEAN_NO_UPGRADE_NOTICE=1` | Disable the interactive upgrade notice |
| `TASKBEAN_AGENT` | Set explicit agent attribution |
| `TASKBEAN_NATIVE_SESSION_ID` | Set the native Agent Session ID |
| `CLAUDECODE`, `CLAUDE_SESSION_ID` | Claude Code attribution |
| `CODEX_SESSION_ID` | Codex attribution |
| `OPENCODE_SESSION` | OpenCode attribution |
| `COPILOT_CLI_SESSION_ID` | GitHub Copilot CLI attribution |
| `CI` | Disable interactive upgrade prompts when truthy |

## Desktop app

| Variable | Purpose |
| - | - |
| `TASKBEAN_PORT` | Highest-priority backend port override |
| `taskbean_PORT` | Portless-provided port fallback |
| `PORT` | General port fallback |
| `TASKBEAN_PUBLIC_URL` | Set the public app URL when `publicBaseUrl` is unset |
| `PORTLESS_URL` | Portless public URL when `publicBaseUrl` and `TASKBEAN_PUBLIC_URL` are unset |
| `GIT_SHA` | Override the Git SHA returned by `/api/version` |
| `OTEL_EXPORTER_OTLP_ENDPOINT` | Override the Jaeger OTLP endpoint |

## Tests

| Variable | Purpose |
| - | - |
| `TASKBEAN_BASE_URL` | Point Playwright at an existing backend |
| `TASKBEAN_SKIP_WEBSERVER=1` | Prevent Playwright from starting its own backend |

For the backend port, valid environment variables take precedence over `port` in `~/.taskbean/config.json`. For the public app URL, a non-empty `publicBaseUrl` in that file takes precedence over `TASKBEAN_PUBLIC_URL` and `PORTLESS_URL`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.