Status: TEMPLATE — UNFILLED. No checkbox below has been verified. Operator must edit this file in-place when actually running the smoke. Do NOT cite this file as evidence until at least one OS section is signed off.
The 2026-04-24 evidence doc (2026-04-24-http-loopback-static-bearer.md)
records the JSON-shaped headers.Authorization: "Bearer <token>" http-loopback
shape used by Cursor, Claude Desktop, Claude Code, Cline, Windsurf, Windsurf
Next, Amp, Roo Code, Continue.dev, and Zed. It does not cover Codex CLI:
- Codex CLI consumes
~/.codex/config.toml, notmcp.json. - Codex CLI does not accept a literal bearer in
[mcp_servers.<name>]. Bearer must be referenced indirectly viabearer_token_env_varand the actual value set in[mcp_servers.<name>.env_http_headers]. - The shape was added in commit
895b04d(2026-04-26), after the 2026-04-24 doc was written — so referencing the older doc as evidence forcodexCli.httpBearerLoopbackis structurally wrong.
This template captures the per-OS smoke needed to back the Codex CLI claim.
- Date: 2026-04-XX (operator fills)
- Operator:
- Platform: <Linux distro / macOS version / Windows version>
- Codex CLI version: <version, e.g. output of
codex --version> - Extension version: <e.g. perplexity-vscode-0.8.10.vsix>
- Daemon port: <port from
~/.perplexity-mcp/daemon.lock>
- Install the VSIX from a clean profile (or note the prior state).
- Open VS Code with the extension installed at the version above.
- Open the dashboard, enable the daemon, note the port and the active bearer.
- From the command palette, run "Perplexity: Configure for All" (or the
per-IDE action for
codexClifrom the IDEs tab with transporthttp-loopback). - Verify it writes
~/.codex/config.toml(Windows:%USERPROFILE%/.codex/config.toml) with the HTTP-transport TOML shape shown below. - Restart Codex CLI; verify
Perplexityappears in its MCP server list withenabled = trueand reports as authenticated (noAuth: Unsupportedfor the loopback bearer path — that warning is a known cosmetic display for the stdio launcher and is documented inlinux/perplexity-codex-mcp-setup-issue.md). - List MCP tools — confirm
perplexity_search,perplexity_doctor,perplexity_models,perplexity_research,perplexity_computeappear.
The auto-config writer (buildTomlMcpBlock in
packages/extension/src/auto-config/index.ts) emits the following exact shape
when given an http-loopback server config (an object with a url key and
headers.Authorization = "Bearer <token>"). The env var name is derived as
<SERVERNAME>_MCP_BEARER with non-alphanumerics collapsed to _. For server
name Perplexity this yields PERPLEXITY_MCP_BEARER.
[mcp_servers.Perplexity]
url = "http://127.0.0.1:<daemon-port>/mcp"
bearer_token_env_var = "PERPLEXITY_MCP_BEARER"
enabled = true
[mcp_servers.Perplexity.env_http_headers]
PERPLEXITY_MCP_BEARER = "<daemon-static-bearer>"Notes:
- No
command/argskeys appear whenurlis set — that branch is exclusive. - No
[mcp_servers.Perplexity.env]block is written for the loopback transport. (envis reserved for the stdio-launcher transport, where things likePERPLEXITY_HEADLESS_ONLYbelong.) - The bearer is a literal value in
env_http_headers. Codex CLI reads it at spawn time; rotating the bearer requires the file to be re-written and Codex to re-spawn the MCP child (see "Bearer rotation check" below).
Operator: paste the actual TOML written on disk here for the run, and confirm it matches the shape above.
<paste actual ~/.codex/config.toml [mcp_servers.Perplexity] block here>Distro tested:
-
~/.codex/config.tomlcontains the exact[mcp_servers.Perplexity]shape above - Codex CLI lists Perplexity MCP server as
enabled -
perplexity_doctorreturns OK;vaultcheckpass -
perplexity_searchreturns results with citations -
perplexity_modelsreturns the right tier (Pro/Max) -
perplexity_researchwith a simple prompt returns a research result -
perplexity_computewith a file-producing prompt; verify file appears in~/.perplexity-mcp/downloads/<slug>/
- After running the extension command "Rotate bearer", confirm the
env_http_headersblock in~/.codex/config.tomlupdates AND Codex CLI's next call still authenticates without manual restart of Codex itself (or, document the restart requirement here if one is needed).
- All boxes above are checked (no extrapolation)
- Operator signature:
-
~/.codex/config.tomlcontains the exact[mcp_servers.Perplexity]shape above - Codex CLI lists Perplexity MCP server as
enabled -
perplexity_doctorreturns OK;vaultcheckpass -
perplexity_searchreturns results with citations -
perplexity_modelsreturns the right tier (Pro/Max) -
perplexity_researchwith a simple prompt returns a research result -
perplexity_computewith a file-producing prompt; verify file appears in~/.perplexity-mcp/downloads/<slug>/
- After "Rotate bearer",
env_http_headersupdates AND Codex's next call still authenticates
- All boxes above are checked (no extrapolation)
- Operator signature:
-
%USERPROFILE%/.codex/config.tomlcontains the exact[mcp_servers.Perplexity]shape above - Codex CLI lists Perplexity MCP server as
enabled -
perplexity_doctorreturns OK;vaultcheckpass -
perplexity_searchreturns results with citations -
perplexity_modelsreturns the right tier (Pro/Max) -
perplexity_researchwith a simple prompt returns a research result -
perplexity_computewith a file-producing prompt; verify file appears in%USERPROFILE%/.perplexity-mcp/downloads/<slug>/
- After "Rotate bearer",
env_http_headersupdates AND Codex's next call still authenticates
- All boxes above are checked (no extrapolation)
- Operator signature:
- The stdio-launcher transport for Codex CLI (the
command/argsshape with[mcp_servers.Perplexity.env]) — that is the Linux setup-issue subject oflinux/perplexity-codex-mcp-setup-issue.mdand needs its own evidence doc if/when the headless-vault path is signed off. httpOAuthLoopbackfor Codex CLI — not yet wired inIDE_METADATA.httpOAuthTunnelfor Codex CLI — not yet wired inIDE_METADATA.
- Install the VSIX.
- Dashboard → enable daemon → note port.
- IDEs tab → Codex CLI → transport
http-loopback→ Generate. - Inspect
~/.codex/config.toml→ confirm shape matches "Expected TOML on disk". - Restart Codex CLI → list MCP tools → run smoke checks above.
- Rotate bearer from the dashboard → confirm config updates → re-run a tool call.