Skip to main content
docsintegrationscodex-cli

Capture from Codex CLI.

5 minutes. For terminal-driven workflows: infrastructure work, debugging sessions, CLI exploration.

Step 1 · create an MCP token

Generate one at Settings → Integrations → MCP tokens. Copy it (shown once).

Step 2 · add Pulse to Codex config

Codex uses TOML (not JSON). Edit ~/.codex/config.toml:

~/.codex/config.toml
[mcp_servers.pulse]
url = "https://pulsehq.tech/api/mcp"

[mcp_servers.pulse.http_headers]
Authorization = "Bearer pulse_mcp_PASTE_YOUR_TOKEN_HERE"

TOML pitfalls

  • No trailing commas (unlike JSON).
  • String values are double-quoted.
  • The table name is [mcp_servers.pulse], underscore, not [mcp.servers.pulse].
  • Sub-tables come after the parent table.

Step 3 · verify (no restart needed)

Unlike Claude Desktop and Cursor, Codex picks up MCP config changes on the next invocation. Just run codexin your terminal. Sanity check: “Remember that staging mirrors prod nightly” should call pulse_remember, a capture-only token can write and recall its own memory, but read tools like get_pulse need a pk_live_ read key.

Step 4 · your first capture

Run codex, work through a problem, then say:

say to codex
Save this debugging session to Pulse, tag it deploy-failures.

Codex captures naturally include terminal output and shell commands. Pulse preserves the full context. For structured decisions: “We’re using Cloudflare R2 for storage. Alternatives: S3, GCS, Backblaze B2. Save the decision to Pulse.”

Power user tips

  • Shell aliases help: alias save="codex save the last session to Pulse".
  • Long sessions: capture the conclusion as a decision rather than the full transcript.
  • Bouncing between projects? Label tokens by project ("Codex, project-trellis") so you can revoke one without affecting the others.