You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add config validation with clear error messages
- Show helpful message when OTLP URL or auth token is missing
- Document global config file support in README
- Update troubleshooting section with new error messages
Project-level config takes precedence over global config.
162
+
163
+
**Global config (recommended for personal use)**
164
+
165
+
Create `~/.claude/dash0-agent-plugin.local.md` to configure the plugin once for all projects:
166
+
167
+
```markdown
168
+
---
169
+
otlp_url: "https://ingress.us1.dash0.com"
170
+
auth_token: "your-dash0-auth-token"
171
+
dataset: "default"
172
+
agent_name: "claude-code"
173
+
---
174
+
```
175
+
176
+
**Project-level config**
177
+
178
+
Create `.claude/dash0-agent-plugin.local.md` in a project directory for project-specific overrides (e.g. a different dataset per repo):
157
179
158
180
```markdown
159
181
---
160
182
enabled: true
161
183
otlp_url: "https://ingress.us1.dash0.com"
162
184
auth_token: "your-dash0-auth-token"
163
-
dataset: "your-dataset"
185
+
dataset: "my-project-dataset"
164
186
agent_name: "my-coding-agent"
165
187
---
166
188
```
167
189
168
-
The local file sets `DASH0_*` env vars for the hook subprocess, so it acts as the lowest-priority fallback. Set `enabled: false` to disable the plugin for a single project without uninstalling it.
190
+
Set `enabled: false` to disable the plugin for a single project without uninstalling it.
191
+
192
+
The config file sets environment variables for the hook subprocess, so it acts as a fallback after `/plugin → Configure` values and before `DASH0_*` environment variables.
169
193
170
194
### Debug mode
171
195
@@ -195,12 +219,10 @@ Output is prefixed with `[dash0:trace]` or `[dash0:log]` for filtering:
195
219
196
220
**No spans in Dash0 after install.** The plugin was likely installed but not configured, or configured but not reloaded. Check:
197
221
198
-
1. Look for this line in Claude Code's stderr on `SessionStart`:
199
-
```
200
-
dash0: not configured — no OTLP_URL set. In Claude Code: /plugin → Installed → dash0 → Configure, then /reload-plugins.
201
-
```
202
-
If you see it, follow [First-time setup](#first-time-setup).
203
-
2. If you've already configured but spans still don't appear, run `/reload-plugins`. Saved values are not picked up by an already-running session until reload.
222
+
1. Look for a `[dash0]` message in the Claude Code UI on session start:
223
+
-`[dash0] Missing OTLP URL` — Configure `otlp_url` in `~/.claude/dash0-agent-plugin.local.md` or set `DASH0_OTLP_URL`
224
+
-`[dash0] Missing auth token` — Configure `auth_token` in the config file or set `CLAUDE_PLUGIN_OPTION_AUTH_TOKEN`
225
+
2. If you've configured via `/plugin → Configure` but spans still don't appear, run `/reload-plugins`. Saved values are not picked up by an already-running session until reload.
204
226
205
227
**More verbose debugging.** Run Claude Code with `--debug` to see plugin error messages:
0 commit comments