GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — docs: add Agent Relay setup and operations guides by coder[bot] · Pull Request #31281 · coder/coder

Conversation

@coder

@coder coder Bot commented Oct 26, 2026 •
edited by matifali
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Expands the Agent Relay docs from three early access overview pages into self-serve beta docs for the v2.39 release, so administrators can install and run Agent Relay without help from Coder. The content is ported from the internal Claude Code and Cursor deployment guides, the agent-relay logging reference, and the registry module READMEs, and rewritten to follow the docs style guide.

What changed

  • index.md: moved early access to beta. Added key concepts (pool, worker, service account, session owner), requirements, and known limitations.
  • setup.md (new): shared setup for both providers, covering the service account and permissions, dedicated provisioners, template requirements, Helm and Docker installs, verification, and workspace lifecycle.
  • claude-code.md: rewritten as the full Claude Code guide, covering environments and keys, the module, pool config, the 300-second build budget, provisioner sizing, network egress, identity, source control, runner status, and troubleshooting.
  • cursor.md: rewritten as the full Cursor guide, covering the API key, the module, pool config, dispatch_deadline, prebuilds, provisioner sizing, network egress, identity, source control, lifecycle, and troubleshooting.
  • slack.md (new): Claude Tag channel sessions (shared ownership through claude_tag_channel_user) and Cursor in Slack (individual ownership).
  • monitoring/index.md (new): log correlation fields, Prometheus metrics, and suggested alerts. The status page is left out because it is a debug-only admin tool, not part of the offering.
  • monitoring/siem.md (new, a child of Monitor): log levels, record shape, provider-specific and failure fields, example records, ID prefixes, parsing, provider scoping, matching rules, log-based alerts, and retention and privacy. Ported from the internal Claude Code and Cursor log ingestion guides, with messages corrected to agent-relay main (3bf4e0e): pool failed verification, retrying replaces the BYOC contract check message, Cursor refusals log request owner cannot be served, refusing the request, and the reaper's stuck verdict logs workspace delete keeps failing, leaving it for an operator.
  • troubleshooting.md (new): every Agent Relay troubleshooting entry in one place, grouped into pools, builds and workspaces, Claude Code sessions, Cursor sessions, and Slack. The provider, Slack, and monitoring pages link to it instead of keeping their own tables.
  • configuration.md (new): flag, environment variable, YAML, and Helm mapping for every supported option, plus pool fields, reserved parameter names, and chart values. Copied by hand from agent-relay (docs/configuration.md, README, values.yaml); DOCS-1426 tracks automating the sync. The status UI and TLS options are left out because they are debug-only.
  • v0.14.0 updates (5111703): credentials as ephemeral workspace build secrets and the workspace_secret permission, modules 1.0.0 with upgrade and rollback notes, idle_release_timeout as a pool duration for both providers, template_version pinning, /readyz and agent_relay_pool_healthy, the reaper's stuck verdict, the coderSessionToken YAML key, corrected Claude Code reserved parameter names, and new troubleshooting entries.
  • Manifest: added the new pages and labeled the Agent Relay section header premium and beta. Subpages carry no labels of their own. Updated the Agent Relay status line in ai-coder/index.md.

The existing claude-code.md and cursor.md paths are kept, because the registry modules link to them.

What's deliberately left out

These pages describe only what ships today:

  • No systemd install. Helm and Docker are the only supported install paths for beta.
  • Claude Code rejection reasons are documented as appearing only in Agent Relay logs, not in the Claude client.
  • No repository-scoped Cursor pools (repo_url). They have not been validated yet.
  • No example templates yet. They'll follow in examples/templates or the registry.

Before merge

  • Confirm the release date. The latest Agent Relay project update moved beta to the second week of November, and these docs need Coder 2.39 and Agent Relay v0.14.0. Agent Relay v0.14.0 is tagged; confirm Coder 2.39 is released.
  • Build-secret credentials landed (agent-relay#119, registry#1215). Documented in 5111703.
  • Keepalive (agent-relay#131) shipped in v0.14.0. Documented in f32f692: the workspace update permission that v0.14.0 checks at startup, the agent_relay_session_attached metadata item, and the two reap-keepalive options.
  • Bump module versions to 1.0.0. The last published 0.x versions are agent-relay-claude-code 0.4.0 and agent-relay-cursor 0.7.0; the registry READMEs mention 0.5.0 and 0.8.0, which aren't published.
  • Confirm the metric names in monitoring.md against v0.14.0. Every name matches.
  • Confirm the log messages and fields in monitoring/siem.md against v0.14.0. All quoted messages and field types match.
  • Re-sync configuration.md to the v0.14.0 tag. The keepalive options are added; the rest is still copied from 0edcb2c.
  • Confirm the Claude Code reserved parameter names. The agent-relay README lists work_order and lock_to_account, but the code reserves agent_relay_claude_code_lock_to_account and not work_order. The docs now follow the code.
  • Confirm whether to document the inline secret pool field. The code accepts it as an alternative to secret_env, but the generated agent-relay reference says pool secrets come from the environment only.
  • Backport to release/2.39. The cherry-pick label opens the release PR on merge.

Lints: markdownlint-cli2 is clean on f32f692. vale reports warnings only (Coder.StepLength, Coder.ImperativeNegation, Coder.AmbiguousWords), no errors.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@coder coder Bot assigned nickvigilante Oct 26, 2026
@github-actions github-actions Bot added the community Pull Requests and issues created by the community. label Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Docs preview

Check off each page once it's been reviewed. If a page changes in a later push, its checkbox clears automatically so it gets a fresh look. Pages not yet wired into the docs navigation aren't listed here.

  • docs/ai-coder/agent-relay/claude-code.md
  • docs/ai-coder/agent-relay/configuration.md
  • docs/ai-coder/agent-relay/cursor.md
  • docs/ai-coder/agent-relay/index.md
  • docs/ai-coder/agent-relay/monitoring.md
  • docs/ai-coder/agent-relay/setup.md
  • docs/ai-coder/agent-relay/slack.md
  • docs/ai-coder/index.md
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

nickvigilante
nickvigilante reviewed Oct 26, 2026
View reviewed changes
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
> [!IMPORTANT]
> Steps 1 and 2 require an Owner of your Anthropic organization.

### 1. Allow self-hosted environments

@nickvigilante nickvigilante Oct 26, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### 1. Allow self-hosted environments
### Step 1: Allow self-hosted environments

Make this change globally. I'm not sure if what you committed here works with beta-docs, but I know the format in Get Started works, so use that for now.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/setup.md Outdated
You need:

- A licensed Coder deployment on version 2.37 or later.
Agent Relay refuses to start against an older version.

@nickvigilante nickvigilante Oct 26, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Agent Relay refuses to start against an older version.
Agent Relay refuses to start against versions earlier than v2.37.

I avoid using the word "old" or any of its derivatives, as it can be considered ageist.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@matifali matifali Oct 29, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this error is explicit enough we do not need to mention this as we already mention minimum required coder version at top.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 14037c4. I removed the line, and the requirement at the top (now v2.39) stays.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/cursor.md Outdated
### 1. Allow self-hosted machines

A Cursor team admin must turn on **Allow Self-Hosted Machines** in the Cursor Cloud Agents dashboard.
This setting lets developers send cloud agents to self-hosted workers.

@nickvigilante nickvigilante Oct 26, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This setting lets developers send cloud agents to self-hosted workers.
With this setting turned on, developers can send cloud agents to self-hosted workers.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nickvigilante
nickvigilante marked this pull request as ready for review October 26, 2026 18:39
@nickvigilante
nickvigilante force-pushed the docs/agent-relay-beta branch from c8c7042 to 69cd406 Compare October 26, 2026 18:39
@nickvigilante
nickvigilante requested review from Emyrk, dluman and matifali October 26, 2026 18:39
matifali
matifali reviewed Oct 26, 2026
View reviewed changes

@matifali matifali left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
- [Agent Relay](./index.md)
- [Architecture](../../install/plan/architecture.md)
- [Set up Agent Relay](./setup.md)
- [Use Agent Relay from Slack](./slack.md)

@matifali matifali Oct 26, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the end user won't need to know that they are using Agent Relay. So we should repurpose this for Admins on how they can configure Slack to work with Agent Relay managed pools/environments.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. In 106dd12 the page is retitled "Configure Slack for Agent Relay" everywhere (frontmatter, manifest, and links), and the intro says it's for admins and that developers don't need to know Agent Relay is involved. I kept the lifecycle bullets because they describe how many workspaces get created, which admins need for sizing. Let me know if you'd cut more.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/cursor.md Outdated
| Who clones | The template, before the worker starts | Your image, hooks, or the agent after the claim |
| Git egress | Required | Required if sessions clone or push |

For a repository-scoped pool:

@matifali matifali Oct 26, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dluman IIrC we have not tested or validated repo scoped pools yet.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matifali @dluman Since repository-scoped pools haven't been validated, my proposal for beta is to remove the repository-scoped guidance from cursor.md (the pool-type table, the repository-scoped list, and the two related troubleshooting rows) and the repo_url table in slack.md. In configuration.md, repo_url would either get a "not yet validated" note or be removed. Does that work for you, or would you rather keep it with a caution callout? I'll hold this change until you weigh in.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nickvigilante — given our lack of validation here and the messaging that gives, I'm in favor of removing it.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

nickvigilante reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed in 14037c4, per this thread. Repository-scoped guidance is gone from cursor.md and slack.md, and repo_url is out of configuration.md. The reserved parameter name agent_relay_cursor_repo_url stays listed, since Agent Relay still reserves it.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/cursor.md

- Set a Git identity in the image.
Commits fail without one.
- Prefer short-lived, least-scoped credentials.

@matifali matifali Oct 26, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we link to External auth docs and how to configure the GitHub External auth here?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in 106dd12 to the Cursor credentials list and the Claude Code source control section. One detail from the code: since #26314 (v2.35), coderd refuses to create a workspace when the owner hasn't linked a required external auth provider, and that includes API-created workspaces. So the docs say a non-optional provider blocks Agent Relay from serving that developer's session. Claude Tag channel sessions still need credentials from the template.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
dluman
dluman requested changes Oct 27, 2026
View reviewed changes

@dluman dluman left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might need to have @matifali or @Emyrk take a look at the questions I have. Some of these may amount to no impact or contravene typical docs standards that I'm not yet aware of (e.g., level of necessary detail, things we assume that sophisticated users know).

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/monitoring.md
For Docker, set `logFormat: json` in `config.yaml`.
For a short diagnostic window, set `logLevel: debug`.

A startup failure that occurs before the logger is ready prints as a plain `agent-relay: ...` line, not JSON.

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it matter for jq commands that this is true? Do we need to provide guidance that something like jq -Rsc 'sub("^[^{]*"; "") | fromjson | ...' to work around all startup failures?

Or, and I am open to this, does it not matter?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, and it was worse than this: the JSON sink nests fields under fields, so the old example never matched anything. In 106dd12 the example uses jq -R with fromjson?, which skips non-JSON startup lines without the slurp-and-strip workaround, and the page now explains the record shape.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/monitoring.md Outdated

```shell
kubectl logs -n coder deploy/coder-agent-relay --since=1h \
| jq -c 'select(.session_id == "<session-id>")'

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just session_id might miss failures. Should we trace by session_uuid?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. The poller logs both session_id and session_uuid, but the reaper's failure path logs only session_uuid (serviceclaudecoderunners/reap.go:79). In 106dd12 the example matches either one, and the correlation section and symptom table call out session_uuid for Claude Code.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
| Builds stay `pending` | No online provisioner matches the template's tags. Compare `coder provisioner list` with the template's tags. |
| The agent fails to start with an unclear CLI error | The Claude Code CLI in the image is out of date. Rebuild the image, or set `install_cli = true`. |
| A workspace is never deleted | The template renamed or omitted `agent_relay_status`, or the runner reports `orphaned`. |
| A pool stops claiming sessions | The environment key expired or was rotated. Look for poll errors on that pool, then update the secret. |

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a restart step? The Relay needs to be restarted.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Pool secrets reach the pod as environment variables and aren't reloaded. In 106dd12 the row now says to restart Agent Relay (kubectl rollout restart or restart the container), and both provider pages' Step 3 says that secrets are read only at startup.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
| One pool is degraded and the others are fine | The service account lacks `read` or `use` on the template, the template lacks `allow_user_cancel_workspace_jobs`, or the template doesn't include the module's parameters. |
| Sessions fail and no workspace is created | Identity resolution failed. Find the attested email in the logs and confirm an active member of the pool's organization has it. |
| A session sits queued in Claude Code | Dispatch failed and Agent Relay returned the session for redelivery. Read the Agent Relay logs for the session's nack reason. |
| A workspace is created and then deleted | The build failed. Quota exhaustion is the most common cause. Read the workspace's build log in Coder. |

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

job_error in the Agent Relay log (independent of the workspace's build log via coderd) also provides detail.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Agent Relay deletes the workspace after a failed build, so job_error on the workspace build failed line is the easier place to start (workspacedispatcher/dispatcher.go:675). In 106dd12 this row in both provider pages and the monitoring.md checklist now point there first.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/slack.md
}
```

The Tag environment appears in every Claude environment picker, so people can select it for their own sessions.

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because these sessions might happen at a higher velocity -- if we're retooling this for admins -- adding Terraform guidance about keeping this template away from build quota (daily_cost) would make this issue more visible.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in 106dd12 as a setup step: every channel session's workspace belongs to the one claude_tag_channel_user, so they all draw on a single quota budget. The step says to leave daily_cost off the Tag template, or to give that user a group allowance that covers the expected concurrency.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
# claude_tag_channel_user: <user-uuid>
```

Set `CLAUDE_ENVIRONMENT_SECRET` in the container's environment.

@dluman dluman Oct 27, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@matifali -- will this fail without passing the service account's session token?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@matifali matifali Oct 27, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will defer to @Emyrk

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Oct 27, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would fail at startup. The session token is a required option, and Agent Relay checks it against coderd before it serves anything (servicecoderd/coderd.go). The docker run in setup Step 5 passes it, but the snippet didn't say so. In 106dd12 both provider pages now say to pass the pool secret alongside CODER_AGENT_RELAY_CODERD_SESSION_TOKEN and link to the Docker install.

While checking this, I found that the code also accepts a coderSessionToken YAML key, though it discourages it. So 106dd12 drops our "no YAML key" claim and just says to use the environment variable.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nickvigilante
nickvigilante requested review from dluman and matifali October 27, 2026 16:37
matifali
matifali requested changes Oct 29, 2026
View reviewed changes

@matifali matifali left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass. Will review again after these are addressed.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/index.md Outdated
## Requirements

## Supported providers
- A Coder deployment with a Premium license, on version 2.37 or later.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make it 2.39

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 14037c4. The index and setup requirements now say v2.39 or later.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/index.md Outdated
## Supported providers
- A Coder deployment with a Premium license, on version 2.37 or later.
- A Coder service account with a long-lived token.
- A workspace template for each pool that includes the provider's Agent Relay module.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

link to this page https://registry.coder.com/modules?search=tag%3Aagent-relay

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 14037c4. The module requirement now links to the registry's agent-relay tag search.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/index.md Outdated
- A Coder service account with a long-lived token.
- A workspace template for each pool that includes the provider's Agent Relay module.
- Provisioner capacity for Agent Relay builds.
- A Kubernetes cluster for the Helm chart, or another runtime that can run a container.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Help chart is just a method to install we should not say that Kubernetes cluster is needed because of helm chart. The comment is about choice of words here.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reworded in 14037c4 to "Somewhere to run the Agent Relay container, such as a Kubernetes cluster or a Docker host" (same idea in setup's prerequisites), so Helm reads as an install method, not a requirement.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/index.md
- [Set up Agent Relay](./setup.md)
- [Agent Relay for Claude Code](./claude-code.md)
- [Agent Relay for Cursor](./cursor.md)
- [Configure Slack for Agent Relay](./slack.md)

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we separate Slack instructions for each provider?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The page already has one H2 per provider ("Claude Tag channel sessions" and "Cursor in Slack"), each with its own setup and lifecycle sections. Only the intro ownership table and the troubleshooting table are shared. Options: keep one page as is, split it into two Slack pages, or move each section into its provider page. I'd keep one page, since the intro table is the main thing admins compare, but holding this until we agree on a direction.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/setup.md Outdated
Comment on lines +28 to +32
- **Run one relay per set of pools.**
Two relays that serve the same pools both claim the same sessions and contend over the same workspaces.
- **Run one relay per organization to isolate organizations.**
Give each relay its own service account and its own provider pools.
For example, a deployment with three organizations runs three relays.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we proposing these as alternatives? pools is not a coder native term.
We should say one relay per deployment or one relay per organization.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rewritten in 14037c4 as two layouts: one relay per deployment, or one relay per organization (each with its own service account and provider credentials). The hard rule, never give two relays the same provider credentials, is now a separate sentence and doesn't use "pools".

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
Source control for a session has two independent sides, and you must configure both:

1. **Claude Code must see the repository.**
Claude Code only offers repositories that the Claude GitHub app or your GitHub Enterprise Server integration can reach.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

have we verified the GitHub Enterprise server part? @dluman?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dluman can you confirm? I couldn't verify GitHub Enterprise Server support from the code. If it hasn't been tested with Agent Relay, we can keep Anthropic's requirement but say our testing covered github.com only.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@dluman dluman Nov 3, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We haven't; the Coder implementation testing this rests only on the Github app. We might remove enterprise reference here, as that doesn't necessarily have an effect on repository visibility if an admin has the ability to manage Github org. permissions from the app.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Nov 3, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. In 699c041 I removed GitHub Enterprise Server from the requirements, the network list, and this line, so the page covers only the Claude GitHub app.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
Comment on lines +256 to +258
1. **The workspace must be able to clone and push.**
The runner clones the selected repository with the Git credentials in the workspace.
Coder and Agent Relay don't supply them.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isn't it wrong to say Coder does not provide them? We should say Coder supplies them but a template admin needs to configure the template to inject those credentials.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Reworded in 14037c4 in claude-code.md, cursor.md, and setup.md: Coder can supply each developer's credentials through external authentication, but a template admin must configure the template to provide them.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
Comment on lines +278 to +288
Set runner options as environment variables on the `coder_agent` resource:

```tf
resource "coder_agent" "main" {
# ...
env = {
SELF_HOSTED_RUNNER_CONFIGURE_GIT = "1"
SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE = "1"
}
}
```

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead use additional-args input of the module and pass --configure-git --push-outcome-on-release
Please verify flag names.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 14037c4. I checked the names against Anthropic's self-hosted environments reference: --configure-git (SELF_HOSTED_RUNNER_CONFIGURE_GIT) and --push-outcome-on-release (SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE). The module input is additional_args, a list with one element per argument. The Slack Tag lifecycle table uses the same pattern, and I added Anthropic's advice to restrict pushes to claude/* before turning on push-on-release.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md
Comment on lines +292 to +297
- Set a system-wide Git identity.
Without one, `git commit` fails and the session can't progress.
- Prefer short-lived, least-scoped credentials.
A credential baked into the image is available to every session.
- Make sure Git works without a prompt.
The runner sets `GIT_TERMINAL_PROMPT=0` and runs SSH in batch mode, so pre-populate `known_hosts`.

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where are we talking about the per user credentials that are injected via Coder external auth and GIT_ASKPASS

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added in 14037c4. Coder external authentication is now the first row of the Git access table, and the paragraph below it explains that declaring the provider with data "coder_external_auth" makes the agent set GIT_ASKPASS, so Git over HTTPS uses the session owner's linked token with no credential in the image. cursor.md uses the same wording.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread docs/ai-coder/agent-relay/claude-code.md Outdated
Comment on lines +321 to +339
## Troubleshoot

## Get started
| Symptom | Likely cause |
|----------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Agent Relay exits at startup | An unlicensed deployment, a Coder version earlier than v2.37, an invalid token, or missing organization permissions. Also check for two pools with the same `name`, a pool missing `organization` or `template`, an unset `secret_env` variable, or a reserved `template_parameters` name. |
| One pool is degraded and the others are fine | The service account lacks `read` or `use` on the template, the template lacks `allow_user_cancel_workspace_jobs`, or the template doesn't include the module's parameters. |
| Sessions fail and no workspace is created | Identity resolution failed. Find the attested email in the logs and confirm an active member of the pool's organization has it. |
| A session sits queued in Claude Code | Dispatch failed and Agent Relay returned the session for redelivery. Read the Agent Relay logs for the session's nack reason. |
| A workspace is created and then deleted | The build failed. Quota exhaustion is the most common cause. Find the `workspace build failed` line in the Agent Relay logs and read its `job_error` field. The workspace's build log in Coder has the full output. |
| Builds time out | The build plus provisioner queue time exceeded the 300-second budget. Speed up the template or add provisioners. |
| Builds stay `pending` | No online provisioner matches the template's tags. Compare `coder provisioner list` with the template's tags. |
| The agent fails to start with an unclear CLI error | The Claude Code CLI in the image is out of date. Rebuild the image, or set `install_cli = true`. |
| A workspace is never deleted | The template renamed or omitted `agent_relay_status`, or the runner reports `orphaned`. |
| A pool stops claiming sessions | The environment key expired or was rotated. Look for poll errors on that pool, update the secret, then restart Agent Relay with `kubectl rollout restart deploy/coder-agent-relay`, or restart the container. |
| Anthropic authentication fails | The Agent Relay or workspace clock is more than 5&nbsp;minutes off. Synchronize clocks. |
| A session stalls while preparing the repository | The Claude GitHub app can't access the selected repository. |
| `Please tell me who you are` | The image has no Git identity, and runner-managed Git config is off. |

Talk to your [Coder account team](https://coder.com/contact) or email [[email protected]](mailto:[email protected]) to get access to Agent Relay for Claude Code.
For logs and metrics, refer to [Monitor Agent Relay](./monitoring.md).

@matifali matifali Oct 29, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be all separate subheading we can link to instead of a table? or an FAQ?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@coder coder Bot Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Converted in 14037c4. The troubleshooting tables in claude-code.md and cursor.md are now one H3 per symptom, so each is linkable. slack.md and monitoring.md still use tables. Happy to convert those too if this format works.

Posted by Superblink on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@matifali matifali Nov 3, 2026

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should have a docs rule on when we should use Tables over headings.
cc: @nickvigilante

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nickvigilante nickvigilante added backport/v2.39 Backport PR targeting release/2.39 and removed community Pull Requests and issues created by the community. labels Nov 2, 2026
coder Bot and others added 8 commits November 2, 2026 16:29
@coder @nickvigilante
docs: add Agent Relay beta setup and operations guides
fe1d48e
@coder @nickvigilante
docs: address Agent Relay review feedback
988a6b7
Use Step N headings, drop the status page (debug-only), label Premium, and avoid age-related wording.
@coder @nickvigilante
docs: add Agent Relay configuration reference
fd919c2
Copies the option, pool field, and Helm value reference from coder/agent-relay by hand for the beta. DOCS-1426 tracks automating the sync. Also drops a leftover status page mention from the monitoring page description.
@nickvigilante
docs: address Agent Relay review feedback from Doug and Atif
64a2561
Fix the session-tracing jq example to read nested fields, skip non-JSON
lines, and match session_uuid. Add restart, job_error, external auth,
and Tag-user quota guidance, retitle the Slack page for admins, and stop
claiming the session token has no YAML key.
@coder @nickvigilante
docs: address Agent Relay review feedback from Atif
981470c
Require Coder v2.39, link the registry modules, bump modules to agent-relay-claude-code 0.5.1 and agent-relay-cursor 0.8.1, pass runner flags through additional_args, document external auth through GIT_ASKPASS, recommend quotas, describe one relay per deployment or per organization, turn provider troubleshooting tables into linkable headings, and remove unvalidated repository-scoped Cursor pool guidance.
@coder @nickvigilante
docs: start Agent Relay workers after workspace setup
00b759e
Agent Relay hands off a workspace when its build succeeds, so the provider worker can start before template startup scripts finish (RELAY-67). Document ordering the provider module after setup scripts with coder_script_order, and add a troubleshooting entry to both provider pages.
@coder @nickvigilante
docs: update Agent Relay docs for build secrets and v0.14.0
03b9b54
Document credential delivery as ephemeral workspace build secrets (Coder 2.39, Agent Relay v0.14.0, modules 1.0.0), the workspace_secret permission, idle_release_timeout as a pool duration for both providers, template_version pinning, /readyz and agent_relay_pool_healthy, the reaper stuck verdict, the coderSessionToken YAML key, and corrected reserved parameter names.
@coder @nickvigilante
docs: fix Agent Relay metric names and document missing secret permis…
d8031b8
…sion

Verified against coder/agent-relay 0edcb2c: dispatch results include skipped_serving and skipped_deleting, agent_relay_pool_healthy carries a provider label, and suggested alerts now use full metric names. Adds the startup error for a service account missing workspace_secret create.
@nickvigilante
nickvigilante force-pushed the docs/agent-relay-beta branch from a92b85e to d8031b8 Compare November 2, 2026 16:31
@nickvigilante
docs: note the Coder v2.39 requirement for Agent Relay script ordering
06720fd
@linear-code

linear-code Bot commented Nov 2, 2026

Copy link
Copy Markdown

DOCS-1473

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nickvigilante nickvigilante added cherry-pick/v2.39 Cherry-pick PR targeting release/2.39 and removed backport/v2.39 Backport PR targeting release/2.39 labels Nov 2, 2026
matifali
matifali approved these changes Nov 3, 2026
View reviewed changes

@matifali matifali left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good. We might need to update it as we merge more chnages in coder/agent-relay before the release.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@coder
docs: add SIEM ingestion guidance to Agent Relay monitoring
8f7c6ad
Ports the SIEM-specific content from the internal Claude Code and Cursor log ingestion guides: log levels, record shape, provider-specific and failure fields, example records, ID prefixes, parsing, scoping, matching rules, log-based alerts, and retention and privacy.

Log messages and fields are checked against agent-relay main (3bf4e0e), which renamed several messages since the guides were written. The status page reference is dropped because it is debug-only.
@coder
coder Bot force-pushed the docs/agent-relay-beta branch from dca3e1b to 8f7c6ad Compare November 3, 2026 15:20
@nickvigilante
docs: document Agent Relay v0.14.0 keepalive and workspace update per…
f32f692
…mission

Agent Relay v0.14.0 (agent-relay#131) checks for workspace:update at
startup and extends autostop for workspaces whose template publishes
agent_relay_session_attached. Add the permission, replace the
"autostop isn't extended" limitation with keepalive setup, and add the
two reap-keepalive options to the configuration reference. Also fix a
stale 0.5.1 module pin and widen the logger_names description.
@nickvigilante nickvigilante added cherry-pick and removed cherry-pick/v2.39 Cherry-pick PR targeting release/2.39 labels Nov 3, 2026
nickvigilante added 5 commits November 3, 2026 15:56
@nickvigilante
docs: show Agent Relay Premium and Beta pills on the section header only
364c559
@nickvigilante
docs: move Agent Relay troubleshooting to its own page
4eda6da
Claude Code and Cursor repeated about half of their troubleshooting
entries, and monitoring and Slack kept their own tables. Collect all of
it on one Troubleshoot Agent Relay page, merged where the symptom is the
same and labeled by provider where it isn't, and point each page to it.

Also apply Nick's pending review comments on configuration.md and
claude-code.md, fix the stale Slack idle-release default, and clarify
the Cursor idle_release_timeout comment.
@nickvigilante
docs: shorten Agent Relay sidebar labels
f2559a8
@nickvigilante
docs: make the Agent Relay setup path easier to follow
cfe63b1
Fill in the steps that couldn't be completed from the page: the
provisioner key secret and values file, Docker log and secret commands,
and the exact log lines that show a pool is ready. Move the permission
reasons below the service account steps, add a note on each provider
page that its steps are setup Step 4, collect the early access upgrade
notes into one section, and replace the duplicated requirements and
artifact list on the overview page with a link.
@nickvigilante
docs: move Agent Relay SIEM guidance to its own page
e2e29df
The SIEM section was about two-thirds of the monitoring page, and most
admins only need logs and metrics. Move it unchanged to
monitoring/siem.md as a child of Monitor, per Atif. The monitoring page
moves to monitoring/index.md, so its URL doesn't change.

Also replace the link to the retired install/cli.md page with the
downloads page that main now redirects it to.
dluman
dluman reviewed Nov 3, 2026
View reviewed changes
Comment thread docs/ai-coder/agent-relay/setup.md Outdated
## Upgrade from early access

Agent Relay v0.14.0 and module version 1.0.0 deliver provider credentials as workspace build secrets, which need Coder 2.39 or later.
Templates on an early access module version, `agent-relay-claude-code` 0.4.0 or earlier or `agent-relay-cursor` 0.7.0 or earlier, keep working until you move them.

@dluman dluman Nov 3, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know that the upgrade path will allow these modules to work without the --dangerous... build parameter set. I'm in favor of mandating a full cut-over to modules 1.0.0 here in the same window.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@dluman dluman Nov 3, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The take-away for me is that 2.39's secrets are a must run for us on this feature.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Nov 3, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. In 699c041 this is now a single cut-over: upgrade Coder to 2.39, grant the new permissions, convert Cursor idle_release_timeout values, upgrade Agent Relay, and update every template to 1.0.0 in the same maintenance window. I removed the "keep working until you move them" and rollback sentences, didn't document --dangerous-allow-parameter-credential-transport (it has no effect on 2.39 anyway), and pointed early access customers to Coder for help.

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
dluman
dluman reviewed Nov 3, 2026
View reviewed changes
Comment thread docs/ai-coder/agent-relay/setup.md
Agent Relay v0.14.0 doesn't start without them.
The `organization-admin` role already includes both.

1. Convert each Cursor pool's `idle_release_timeout` from seconds to a duration, such as `10m` for `600`.

@dluman dluman Nov 3, 2026

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we mention that 0 indicates "never release?"

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@nickvigilante nickvigilante Nov 3, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, added in 699c041: "0 still turns off idle release."

Generated by Coder Agents on behalf of @nickvigilante.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
dluman
dluman previously requested changes Nov 3, 2026
View reviewed changes

@dluman dluman left a comment

Copy link
Copy Markdown

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a few open smaller questions around 2.39. Some of it will require quick validation, which we can quickly vet. Others have to do with our expectation that customers adopting Beta will largely not come from Early Access. This assumption implies that those accounts coming from EA will have some additional support to migrate toward GA if they should need it.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nickvigilante
docs: address Doug's Agent Relay review on upgrades, GHES, and templa…
699c041
…te access

Make the early access upgrade a single cut-over to module 1.0.0 and drop
the unverified claim that early access templates keep working, per
Doug. Note that 0 still turns off idle release, remove GitHub
Enterprise Server references that weren't tested, and explain that the
template Everyone group grants read and use by default.
@nickvigilante
nickvigilante requested a review from dluman November 3, 2026 18:31
@nickvigilante
docs: give Agent Relay option tables header text
d7db3af
main now fails lint on empty table header cells (#30879). Use the
Property and Value headers that the CLI reference generator uses.
@matifali matifali changed the title docs: add Agent Relay beta setup and operations guides docs: add Agent Relay setup and operations guides Nov 4, 2026
@nickvigilante nickvigilante added cherry-pick/v2.39 Cherry-pick PR targeting release/2.39 and removed cherry-pick labels Nov 4, 2026
@nickvigilante
nickvigilante dismissed dluman’s stale review November 4, 2026 13:46

Approved on slack with room for iterative changes

@nickvigilante
nickvigilante merged commit 108d874 into main Nov 4, 2026
49 of 50 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@nickvigilante
nickvigilante deleted the docs/agent-relay-beta branch November 4, 2026 13:47
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 4, 2026
@nickvigilante nickvigilante added the cherry-pick label Nov 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Reviewers

@nickvigilante nickvigilante nickvigilante left review comments
@matifali matifali matifali approved these changes
@Emyrk Emyrk Awaiting requested review from Emyrk
@dluman dluman Awaiting requested review from dluman

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@nickvigilante nickvigilante

Labels

cherry-pick/v2.39 Cherry-pick PR targeting release/2.39 cherry-pick

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@dluman @matifali @nickvigilante
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.