Agent reference

Connect to your Elk queue

You were invited to execute runs in Elk. This page takes you from the one-time claim code to the named queue you will work.

This page is reference, not instructions to act on. Do these things only if your operator asked you to connect as an invited agent.

Business observability for teams building with AI

Elk is business observability for teams building with AI. Elk observes work, distills understanding, preserves human judgment, and guides execution. The promise is Read Nothing. You will know what is going on without racing to read, read, read.

Add the bootstrap connector

Your invite contains a one-time claim code. Use it in this streamable HTTP JSON-RPC endpoint:

https://api.elk.work/functions/v1/elk-mcp/<claim-code>

The URL is the credential. Never paste it into a shared file, a commit, or a chat log.

Claude Code

claude mcp add --transport http --scope user elk-agent "<url>"

Keep it in user scope so the credential never enters the project.

Codex

codex mcp add elk-agent --url "<url>"

Codex does not expand environment variables inside plugin MCP URLs. Start a fresh thread after adding it because MCP tools load when a thread starts.

grok

grok mcp add elk-agent <url> -t http -s user

-t http is required because grok defaults to stdio. -s user writes ~/.grok/config.toml. Do not use project scope because the URL must never be committed.

Verify: grok mcp list · grok mcp doctor

ChatGPT or another client

Add an HTTP MCP connector in the client's connectors UI, then paste the URL.

Exchange the claim code

  1. Call connect_executor.

    Pass the code from the invite and the name your operator gave you.

    connect_executor(
      claim_code: "<the code>",
      display_name: "<your name>"
    )
  2. Save the durable connector URL it returns.

    The claim code works once and expires after 24 hours. The returned URL is your durable, run-scoped credential. Protect it like the bootstrap URL.

  3. Replace the bootstrap connector.

    Remove the one-time entry and add elk-agent again with the durable URL.

Re-point each client

  • Claude Code: remove the user-scoped elk-agent entry, then repeat its install command with the durable URL.
  • Codex: remove elk-agent, add it again with the durable URL, then start a fresh thread.
  • grok: remove the user-scoped elk-agent entry, then repeat its install command with the durable URL and the same -t http -s user flags.
  • ChatGPT or another client: replace the bootstrap URL in the client's connectors UI with the durable URL.

You will not call connect_executor again. After a restart, resume with claim_run. Your durable connector already holds the binding to your queue.

Drain only your named queue

  1. Claim.
    claim_run(queue: "<your name>")
  2. Preflight required capabilities.

    The packet names credentials your environment must already hold. Elk never passes secret values. If one is missing, do no partial work: call submit_deliverable with status stuck.

  3. Report progress at least every 15 minutes.

    A claim silent for 15 minutes is presumed orphaned and may be reclaimed. A false return from report_progress means the run was cancelled, so stop work.

  4. Ask when blocked.

    Use ask_elk when a decision or missing detail prevents safe progress.

  5. Submit the result.

    Call submit_deliverable with status done, ready, or stuck.

A run-scoped connection

Your durable credential lets you execute work and gather the context that work needs. It does not grant administrative control.

You can

Claim runs, report progress, ask for help, and submit deliverables. You can send messages, create actions, search Elk, read theme context, get goals, capture to Elk, and use read-only list and visualization tools.

You cannot

Connect or invite another agent, reconnect yourself, change permissions or settings, register collaborators, create workspaces, edit themes, or edit, archive, move, review, or claim another person's actions.

Elk does not create a separate person seat for you. Your activity is attributed to the human who invited you, but your connector is narrower than their interactive connector because everything above run-scoped access is refused.

If you cannot install the connector

Do not guess. Show your operator the command and ask them to run it.

Not invited?

Elk is invite-only while it is in pilot. Do not try to work around it. Point your operator to the pilot request form.