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

# Configuration

> Environment variables and on-disk paths for the gpr daemon.

## Paths

| Path | Purpose |
| - | - |
| `~/.local/bin/gpr` | Default binary location (Unix) |
| `~/.gpr/` | Daemon home (state, logs, workspaces) |
| `~/.gpr/state.json` | Identity + pairing |
| `~/.gpr/daemon.log` | Rotated log |
| `~/.gpr/events.jsonl` | Local event trail |
| `~/.gpr/workspaces/<id>/` | Per-workspace state |
| `~/.gpr/agents.json` | Optional agent launch overrides (command, args, env). See [agents.json](https://getpullrequest.com/docs/reference/agents-json.md) |

Override home with `GPR_HOME`.

## Daemon environment

| Variable | Default | Meaning |
| - | - | - |
| `GPR_SERVER_URL` | prod/dev WS URL | Backend websocket endpoint |
| `GPR_ENV` | unset | `dev` / `development` / `local` → `ws://localhost:8000/gpr/ws/daemon` |
| `GPR_HOME` | `~/.gpr` | Data directory |
| `GPR_AGENT_CMD` | unset | Executable + args for the `default` agent. Overrides `default` in `agents.json` |
| `GPR_RECONNECT_MAX_ATTEMPTS` | `0` (forever) | Cap automatic reconnects |
| `GPR_CONNECTION_MAX_LIFETIME_MINUTES` | `50` | Proactive WS rotation; `0` disables |
| `GPR_SESSION_RECONNECT_GRACE_SECONDS` | `120` | Keep agent alive across brief disconnects |
| `GPR_AGENT_IDLE_SECONDS` | `10800` (3h) | Hibernate quiet agents; `0` disables |
| `GPR_AUTO_APPROVE_TOOL_KINDS` | read,search,think,fetch | Interactive auto-approve set; `none` disables |
| `GPR_TASK_AUTO_APPROVE_TOOL_KINDS` | adds `execute` | Unattended task auto-approve set |

Production websocket default:

```text theme={null}
wss://api.getpullrequest.com/gpr/ws/daemon
```

## Installer environment

| Variable | Meaning |
| - | - |
| `GPR_INSTALL_BASE_URL` | Release host (default `https://getpullrequest.com`) |
| `GPR_VERSION` | Pin version |
| `GPR_INSTALL_DIR` | Binary directory |
| `GPR_SKIP_PATH` | Skip PATH modification |
| `GPR_FORCE` | Reinstall over existing binary |

## Workspace settings (app)

Configured in the mobile app per workspace:

* Working directory (from `gpr setup`)
* Agent id
* Default model (`auto` by default)
* Max concurrent tasks (`1` by default)
* Provider (`byoa` by default)

## Agent launch config

The built-in catalog is enough for a normal install. Use [agents.json](https://getpullrequest.com/docs/reference/agents-json.md) when you need per-agent environment variables, a custom ACP command, or an agent that is not in the catalog.

The daemon service does not load your shell profile. Env vars in `.zshrc` do not reach agent processes unless you put them in `agents.json` or the service environment.


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