Your Dynatrace platform, one command away.
dtctl is a CLI for the Dynatrace platform. Manage workflows, dashboards, queries, and more from your terminal or let AI agents do it for you. Its predictable verb-noun syntax (inspired by kubectl) makes it easy for both humans and AI agents to operate.
dtctl get workflows # List all workflows
dtctl query "fetch logs | limit 10" # Run DQL queries
dtctl apply -f workflow.yaml --set env=prod # Declarative configuration
dtctl get dashboards -o json # Structured output for automation
dtctl exec copilot nl2dql "error logs from last hour"Early Development: This project is in active development. If you encounter any bugs or issues, please file a GitHub issue. Contributions and feedback are welcome!
Documentation · Installation · Quick Start · Command Reference
# Homebrew (macOS/Linux)
brew install dynatrace-oss/tap/dtctl# Shell script (macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/dynatrace-oss/dtctl/main/install.sh | sh# PowerShell (Windows)
irm https://raw.githubusercontent.com/dynatrace-oss/dtctl/main/install.ps1 | iexBinary downloads, building from source, shell completion setup, and more in the Installation Guide.
# OAuth login (recommended, no token management needed)
dtctl auth login --context my-env --environment "https://abc12345.apps.dynatrace.com"
# Verify everything works
dtctl doctorToken-based authentication and multi-environment configuration are covered in the Quick Start.
- Familiar CLI conventions:
get,describe,edit,apply,delete. If you (or your AI) knowkubectl, you already know dtctl. - Built for AI agents: Structured output (
--agent), machine-readable command catalog (dtctl commands), and a bundled Agent Skill that teaches AI assistants how to operate Dynatrace - Multi-environment: Switch between dev/staging/prod with a single command; safety levels prevent accidental changes
- Watch mode: Real-time monitoring with
--watchfor all resources - DQL passthrough: Execute queries directly, with template variables and file-based input
- NO_COLOR support: Respects
NO_COLOR,FORCE_COLOR=1, and auto-detects TTY
| Resource | Operations |
|---|---|
| Workflows | get, describe, create, edit, delete, apply, execute, logs, history, restore, diff, watch |
| Dashboards & Notebooks | get, describe, create, edit, delete, apply, share, history, restore, diff, watch |
| Documents & Trash | get, describe, create, edit, delete, share, history, restore |
| DQL Queries | execute, verify, template variables, live mode, filter segments, wait conditions |
| SLOs | get, describe, create, edit, delete, apply, evaluate, watch |
| Settings | get schemas, get/create/update/delete objects |
| Buckets | get, describe, create, delete, apply, watch |
| Segments | get, describe, create, edit, delete, apply, watch |
| Lookup Tables | get, describe, create, delete, apply (CSV auto-detection) |
| Anomaly Detectors | get, describe, create, edit, delete, apply |
| Extensions 2.0 | get, describe, apply monitoring configs |
| App Functions & Intents | get, describe, execute, find, open (deep linking) |
| Davis AI | analyzers, CoPilot chat, NL-to-DQL, document search |
| Cloud Integrations | Azure & GCP connections and monitoring (get, describe, create, delete, apply, update) |
| EdgeConnect | get, describe, create, delete |
| Notifications | get, describe, delete, watch |
| Users & Groups | get, describe |
| Live Debugger | breakpoints, workspace filters, snapshot decoding |
See the Command Reference for the full list of verbs, flags, resource types, and aliases.
dtctl ships with an Agent Skill that teaches AI coding assistants how to use dtctl. Agents can also bootstrap at runtime with dtctl commands --brief -o json.
# Install via skills.sh
npx skills add dynatrace-oss/dtctl
# Or install with dtctl itself
dtctl skills install # Auto-detects your AI agent
dtctl skills install --for claude # Or specify explicitly
dtctl skills install --global # User-wide installation
# Or copy manually
cp -r skills/dtctl ~/.agents/skills/ # Cross-client (any agent)Compatible with GitHub Copilot, Claude Code, Cursor, Kiro, Junie, OpenCode, OpenClaw, and other Agent Skills-compatible tools. See the AI Agent Mode docs for details on the structured JSON envelope and agent auto-detection.
For deeper Dynatrace domain knowledge (DQL syntax, observability patterns, dashboards, logs, Kubernetes, and more) install the skills from Dynatrace/dynatrace-for-ai:
npx skills add dynatrace/dynatrace-for-aiThese skills provide the domain context (e.g., how to write DQL queries, which metrics to use for service health, how to navigate distributed traces) while dtctl provides the operational tool to act on it. Together they give AI agents everything they need to work with Dynatrace effectively.
Full documentation is available at dynatrace-oss.github.io/dtctl:
- Installation: Homebrew, shell script, binary download, build from source, shell completion
- Quick Start: Authentication, first commands, common patterns
- Configuration: Contexts, credentials, safety levels, aliases
- Command Reference: All verbs, flags, resource types, and examples
- Output Formats: Table, JSON, YAML, CSV, charts
- AI Agent Mode: Structured envelope, auto-detection, agent skill
- Token Scopes: Required API token scopes per safety level
Resource-specific guides: DQL Queries · Workflows · Dashboards · SLOs · Settings · Extensions · Davis AI · and more...
See CONTRIBUTING.md for guidelines.
Apache License 2.0. See LICENSE.
