Track what Amp costs, who uses it, and which pull requests it helps ship, across your engineering teams.
Amp is an agentic coding tool that runs locally or in cloud executors called Orbs. The Dash0 agent plugin sends an OpenTelemetry trace for each completed Amp turn, with paired tool calls and best-effort model and token usage. Dash0 links those sessions to the pull requests they help ship. Engineering leaders and platform teams see in one place how widely Amp is used, what it costs, and what it delivers.
The Dash0 agent plugin uses Amp's native plugin API to send completed turns and paired tool calls as OpenTelemetry traces. It works locally and in Orbs. Dash0 prices reported tokens to show cost. Prompt, response, and tool content stays redacted by default. See Data collected and privacy.
amd64 or arm64.git config --global user.name "{{user_full_name}}"
git config --global user.email "{{user_email}}"Amp syncs personal and workspace plugin repositories to every executor, including Orbs. Add the plugin once without installing anything inside an Orb:
amp clone user-plugins && cd user-plugins
curl -fsSL https://raw.githubusercontent.com/dash0hq/dash0-agent-plugin/main/install-amp.sh | bash -s -- --plugin-repo .
git add dash0-agent-plugin && git commit -m "Add the Dash0 plugin" && git pushFor an admin-led team rollout, use amp clone workspace-plugins instead and work in workspace-plugins. On Windows,
use Git Bash or WSL for this route. The PowerShell installer does not support --plugin-repo.
Amp silently drops plugin directories larger than about 14 MB. The plugin then disappears from amp plugins list
without an error. Keep the default platforms, your current machine plus linux-amd64 for Orbs. Do not pass all six
platforms to --platforms.
Never put credentials in the plugin repository, which you commit and push. The installer refuses --token in this
mode and writes no credential file. Configure environment variables as described below.
If you only run Amp on your own computer, use the installer:
curl -fsSL https://raw.githubusercontent.com/dash0hq/dash0-agent-plugin/main/install-amp.sh | bashOn Windows:
irm https://raw.githubusercontent.com/dash0hq/dash0-agent-plugin/main/install-amp.ps1 | iexThe installer checks the helper against the release checksums, prompts for connection details, and writes
~/.amp/dash0-agent-plugin.local.md with mode 600 on Unix. This installs the plugin on that machine only.
Set these environment variables in Amp's personal settings, or in workspace settings for a team rollout:
AMP_PLUGIN_OPTION_OTLP_URL={{endpoint_otlp_http}}
AMP_PLUGIN_OPTION_AUTH_TOKEN={{token_ingestion}}
AMP_PLUGIN_OPTION_DATASET={{dataset}}Personal values take precedence over project values, which take precedence over workspace values. Plugin repository sync does not deliver credentials to Orbs, so configure them separately here.
The token must use AMP_PLUGIN_OPTION_AUTH_TOKEN, never DASH0_AUTH_TOKEN. There is no generic auth fallback:
DASH0_* variables are inherited by all tool subprocesses and would leak the token. The other three settings also
accept DASH0_OTLP_URL, DASH0_DATASET, and DASH0_TEAM_NAME.
The local installer writes the file for you. To change it, ask Amp to run the dash0:dash0-configure skill and enter:
{{endpoint_otlp_http}}{{token_ingestion}}{{dataset}}The user-level file is ~/.amp/dash0-agent-plugin.local.md. For one project, use
.amp/dash0-agent-plugin.local.md instead. Keep credential files out of Git and restrict their permissions to mode
600 on Unix. Project configuration replaces the user-level file; AMP_PLUGIN_OPTION_* values override file settings.
Dash0 breaks Amp activity down by user and model without extra setup. To break it down by team as well, enter a
team name when you run the dash0:dash0-configure skill, or set team_name in the configuration file. For Orbs, set
AMP_PLUGIN_OPTION_TEAM_NAME=<your team> in Amp's environment variables. The plugin sends it as dash0.team.name on
every span.
amp plugins list shows dash0-agent-plugin.chat span, with execute_tool <Name> children for paired tool calls.Execute mode needs time for plugins to finish loading:
amp --plugin-ready-timeout 30 -x 'task'Token accounting is enabled by default and needs working Amp authentication on the executor. It reads usage through
amp threads export and can take up to twenty seconds after the turn ends. If usage is unavailable, lifecycle traces
still arrive without model or token counts. Token counts are useful for trends and relative comparison, not invoicing.
Amp's public export omits background subagent calls and auxiliary-model work. This is a data-source limitation, not a
plugin defect. Server-side tools that emit no plugin hooks have no tool spans.
If no traces arrive, check the endpoint, token, dataset permissions, and executor configuration. See the plugin reference for troubleshooting and compatibility limits.
From your plugin repository, remove the plugin and push the change:
git rm -r dash0-agent-plugin && git commit -m "Remove the Dash0 plugin" && git pushFor a local install, run uninstall-amp.sh, or uninstall-amp.ps1 on Windows. The local uninstaller also removes the user-level credential file. Reload plugins afterwards.
The plugin sends spans over OTLP/HTTP to your configured endpoint with your auth token and, when set, the
Dash0-Dataset header. Spans include git identity, repository, branch, commit, working directory, team, tool names,
and available model and token usage. Standard identity and VCS attributes follow the shared exporter settings.
With the default omit_io: true, prompt, response, and tool input/output content is replaced with <REDACTED>.
Set omit_io: false in the credential file only if you want to send that text. Content is truncated, not scrubbed for
secrets, so prompts, file contents, and command output can expose sensitive data. Amp's bridge always drops thinking
blocks, inline image payloads, and image URLs. Exporter settings cannot restore them.
With omit_user_info: true, the exporter hashes user.name, drops user.email, and replaces your home directory in
the working directory with ~. Use omit_identity_fallback: true to omit the OS account name fallback. The plugin
writes no transcript or event log. Avoid debug files on shared hosts when content capture is enabled, because they can
contain that content in plaintext.