# Configuration

> State directory (~/.config/dailybot/), per-repo .dailybot/profile.json schema, environment variables, precedence rules, and the local hook ledger.

Language: en
Canonical: https://www.dailybot.com/developers/cli-configuration
Markdown: send header `Accept: text/markdown` on any URL to receive Markdown instead of HTML.
Last Updated: 2026-07-03

---

## CLI Configuration

The CLI keeps its state under a single directory in your home folder, reads credentials from environment variables or a session file, and honors a per-repo `.dailybot/profile.json` for shared team defaults.

### State directory

Location: `~/.config/dailybot/` (override with `$DAILYBOT_CONFIG_DIR`).

- `credentials.json` — session token from `dailybot login`.
- `config.json` — machine API key (from `dailybot config key=...`).
- `agents.json` — named agent profiles registered with `dailybot agent configure` / `agent register`.
- `ledger/` — local hook ledger (`dailybot hook` commands only).

Files are machine-generated; do not hand-edit. Reset the session with `dailybot login`.

### Per-repo profile (`.dailybot/profile.json`)

Committable defaults for every contributor. Never store credentials here — the CLI rejects a `key` field.

```json
{
  "name": "${GIT_USER}",
  "profile": "release-bot",
  "default_metadata": { "repo": "${GIT_REPO}", "team": "platform" },
  "vars": { "custom_form_skills": ["access-request"] },
  "report": { "min_interval_minutes": 30, "nudge": "commit,activity" }
}
```

| Key | Purpose |
|-----|---------|
| `name` | Report author name (fallback to authenticated user). |
| `profile` | Named agent profile to activate for this repo. |
| `default_metadata` | Merged into every `agent update` / `chat send` payload. |
| `vars` | Free-form key/value store consumed by agent skills. |
| `report` | Team-wide report policy (`min_interval_minutes`, `nudge`). |

### Environment variables

| Variable | Purpose |
|----------|---------|
| `DAILYBOT_API_KEY` | Machine credential for headless / CI use. |
| `DAILYBOT_CLI_TOKEN` | Advanced: override the bearer token in `credentials.json`. |
| `DAILYBOT_API_URL` | Overrides the API base (default `https://api.dailybot.com`). |
| `DAILYBOT_CONFIG_DIR` | Overrides the state directory. |

**Precedence:** `$DAILYBOT_API_KEY` env → session in `credentials.json` (`dailybot login`) → `config.json` `api_key`. If a login session and `$DAILYBOT_API_KEY` are both present, the personal session wins.

### Local hook opt-out

Drop `.dailybot/disabled` in any repo root to silence hook reminders for that repo. Hooks live under `~/.config/dailybot/ledger/` and never call the network.

### Checking the active credential

Run `dailybot status --auth`. It probes both session and API-key paths and prints which one wins. There is no `dailybot me` command.

Interactive page with tables and profile examples: [/developers/cli-configuration](/developers/cli-configuration).

---

## Developer portal navigation

**Getting Started**

- [Overview](/developers)
- [Quick start](/developers/getting-started)
- [Authentication](/developers/authentication)

**API Reference**

- [API Overview](/developers/api)
- [Users](/developers/api/users)
- [Organization](/developers/api/organization)
- [Teams](/developers/api/teams)
- [Invitations](/developers/api/invitations)
- [Check-ins](/developers/api/check-ins)
- [Forms](/developers/api/forms)
- [Report channels](/developers/api/report-channels)
- [Templates](/developers/api/templates)
- [Kudos](/developers/api/kudos)
- [Mood tracking](/developers/api/mood)
- [Important dates](/developers/api/important-dates)
- [Messaging](/developers/api/messaging)
- [Automations](/developers/api/workflows)
- [Webhooks](/developers/api/webhooks)
- [Commands platform](/developers/api/commands-platform)
- [Agents](/developers/api/agents)
- [OAuth2](/developers/api/oauth2)
- [Integrations](/developers/api/integrations)
- [CLI](/developers/api/cli)

**API guides**

- [Errors & Status Codes](/developers/errors)
- [Rate Limits](/developers/rate-limits)
- [Conventions](/developers/conventions)
- [API Changelog](/developers/api-changelog)
- [Recipes](/developers/recipes)

**Developer Features**

- [Custom commands](/developers/custom-commands)
- [Serverless commands](/developers/serverless)
- [Webhooks & events](/developers/webhooks)
- [Automation API trigger](/developers/workflow-trigger)
- [Activity API](/developers/activity-api)

**CLI**

- [Overview](/developers/cli)
- [Authentication](/developers/cli-authentication)
- [Command reference](/developers/cli-reference)
- [CI/CD recipes](/developers/cli-ci-cd)
- [Configuration](/developers/cli-configuration) (this page)
- [Troubleshooting](/developers/cli-troubleshooting)

**Agent Skill**

- [Overview](/developers/agent-skill)
- [Skills catalog](/skills)

---

## Site navigation

**Product:**
- [Home](/)
- [Product](/product)
- [Pricing](/pricing)
- [Enterprise](/enterprise)
- [Integrations](/integrations)
- [Templates](/templates)

**Resources:**
- [Blog](/blog)
- [Academy](/academy)
- [Changelog](/changelog)
- [Help Center](/help)
- [Developers](/developers)
- [Agents](/agents)

**Company:**
- [About](/about)
- [Careers](/careers)
- [Security](/security)
- [Contact Sales](/demo)

**Connect:**
- [LinkedIn](https://www.linkedin.com/company/dailybot/)
- [X/Twitter](https://twitter.com/dailybot)
- [GitHub](https://github.com/Dailybot-Inc)
- [YouTube](https://www.youtube.com/channel/UC3uM9V52vwX7e3vQpCc4qvA)

