Remove the `ExperimentAgents` feature flag so the Agents feature is always available without requiring `--experiments=agents`. The feature is now in beta. Existing deployments that still pass `--experiments=agents` will get a harmless "ignoring unknown experiment" warning on startup. ### Changes **Backend:** - Remove `RequireExperimentWithDevBypass` middleware from chat and MCP server routes - Always include `AgentsAccessRole` in assignable site roles (later refactored to org-scoped on main; rebase keeps that) - Always set `AgentsTabVisible = true`, then drop the entire dead `AgentsTabVisible` metadata pipeline (Go htmlState field, populateHTMLState goroutine, HTML meta tag, useEmbeddedMetadata registration, mock); no production consumer reads it. `AgentsNavItem` already gates on `permissions.createChat`. - Make `blob:` CSP `img-src` addition unconditional - Remove `ExperimentAgents` constant, `DisplayName` case, and `ExperimentsKnown` entry **CLI:** - Graduate the agents TUI from `coder exp agents` to `coder agents` (moved from `AGPLExperimental()` to `CoreSubcommands()`) - Drop the `agent` alias so it does not collide with the hidden workspace-agent command - Rename implementation files `cli/exp_agents_*.go` -> `cli/agents_*.go` and internal identifiers (`expChatsTUIModel` -> `chatsTUIModel`, `newExpChatsTUIModel` -> `newChatsTUIModel`, `setupExpAgentsBackend` -> `setupAgentsBackend`, `startExpAgentsSession` -> `startAgentsSession`, `expAgentsPtr` -> `agentsPtr`, `expAgentsSession` -> `agentsSession`, `TestExpAgents*` -> `TestAgents*`). `expClient` (the `*codersdk.ExperimentalClient` local) is kept; `coderd/exp_chats*.go` and other still-experimental `cli/exp_*.go` commands are intentionally untouched. **Frontend:** - Remove experiment check from `AgentsNavItem` - render when `canCreateChat` is true - Remove `agentsEnabled` experiment check from `WorkspacesPage`, then gate `chatsByWorkspace` on `permissions.createChat` so users without chat access don't trigger the per-page DB query (Copilot review feedback) - Add `FeatureStageBadge` (beta) next to the Coder logo in the Agents sidebar (desktop + mobile) **Docs:** - Remove experiment flag setup instructions from `early-access.md` and `getting-started.md` (and rename `early-access.md`'s "Enable Coder Agents" heading to "Set up Coder Agents", since there is no enablement step left) - Update `chats-api.md` and `getting-started.md`'s Chats API note to say "beta" instead of "experimental" - `docs/manifest.json`: drop "experimental" from the Chats API sidebar description - `make gen` regenerated `docs/reference/cli/agents.md` and the CLI index - `scripts/check_emdash.sh`: exclude `cli/testdata/*.golden` and `enterprise/cli/testdata/*.golden` from the new repo-wide emdash lint, since serpent emits emdash borders in every generated `--help` golden file **Tests:** - Remove `ExperimentAgents` setup from all test files (14 occurrences across 7 files) - Update stale "with the agents experiment" comments in `coderd/x/chatd/integration_test.go` and `coderd/mcp_test.go` <img width="1185" height="900" alt="image" src="https://github.com/user-attachments/assets/b420bc8f-41d6-42c6-abd8-ad572533d651" /> > 🤖 Generated by Coder Agents
2.7 KiB
Early Access
Coder Agents is available through Early Access for the community to evaluate while the product is under active development. Participation comes with important expectations and limitations described below.
What Early Access includes
Early Access is a collaborative evaluation period between Coder and participating customers. It includes:
- Direct collaboration with the Coder product team — work with Coder engineers and product managers to share feedback, discuss use cases, and influence product direction.
- Architecture and functionality documentation — basic documentation covering how Coder Agents works and how it integrates into existing deployments.
- Feedback sessions — periodic check-ins with the Coder team to discuss real-world usage.
- Early exposure to new capabilities — access to new features or experimental functionality before public release.
What Early Access does not include
Early Access is not a production-ready offering. It does not include:
- Formal support coverage — no SLA-backed support.
- Stability guarantees — features and behavior may change without notice.
- Production readiness guarantees — functionality may not yet meet the reliability or scalability expectations of a GA feature.
- Complete documentation or tooling — operational guidance may be incomplete and will evolve.
- Long-term compatibility guarantees — APIs, configuration models, or workflows may change before General Availability.
Feature scope
Functionality available during Early Access may be a subset of planned capabilities. Some features may be incomplete, experimental, or subject to redesign.
Set up Coder Agents
Coder Agents is available by default. No experiment flags are required.
To get started:
- Navigate to the Agents page in the Coder dashboard.
- Open Admin settings and configure at least one LLM provider and model. See Models for detailed setup instructions.
- Grant the Coder Agents User role to users who need to create chats. Go to Admin > Users, click the roles icon next to each user, and enable Coder Agents User.
- Developers can then start a new chat from the Agents page.
Licensing and availability
Features provided during Early Access may become paid licensed features at General Availability. Participants will receive reasonable advance notice before:
- Coder Agents reaches General Availability
- Early Access functionality transitions to a paid offering
Providing feedback
Participants are encouraged to share workflow feedback, feature requests, performance observations, and operational challenges. Feedback channels are coordinated directly with the Coder product team.