Skip to content
Docs menu · Troubleshooting

Troubleshooting

New in 1.1

Fix agent errors, missing agent traffic and the App column

On this page

Each section starts with what the agent reports or what you see in ReqRes. The agent shows ReqRes's messages as tool errors.

"Cannot reach ReqRes"

The agent reports:

Cannot reach ReqRes: either it is not running, or its AI bridge is off. Open ReqRes → Settings → MCP and turn on "Enable the AI bridge", then retry. (No handshake at <path>.)

reqres-mcp found no handshake file. ReqRes is not running, or its MCP server is off.

  1. Open ReqRes. The MCP server runs only while ReqRes runs.
  2. Open Settings ▸ MCP and turn on Enable the AI bridge.
  3. Check Server Status. It should start with "Running — listening on 127.0.0.1:". For the other states, see Check the connection.
  4. Ask the agent to try again. reqres-mcp reads the handshake file on each call, so you do not need to restart the client.

If the agent reports "Could not reach the ReqRes bridge:" followed by an error, reqres-mcp found the handshake file but could not reach the server it names. Quit ReqRes, open it again, and ask the agent to retry.

If the client reports that the reqres server failed to start, the path in its configuration is wrong. It must be /Applications/ReqRes.app/Contents/MacOS/reqres-mcp. Move ReqRes to your Applications folder, then copy the configuration again from Settings ▸ MCP.

The token is rejected

The agent reports:

The bridge rejected this token. Restart ReqRes to mint a fresh handshake.

The token in the handshake file does not match the running server. ReqRes writes a new token each time its MCP server starts.

  1. Quit ReqRes and open it again.
  2. Ask the agent to try again.

ReqRes received the change and did not make it. The agent sees the status, the code and a message, for example:

Bridge returned 403: consent_denied — Not allowed: The user declined. Do not retry unless the user asks you to.
CodeWhyWhat to do
consent_deniedYou clicked Deny, or turned off the MCP server while the change waited. exclude_host and replay_request ask every time, even after Allow for This Session, so they can be denied while other changes go through. The agent also gets it when it answers a held request while Let agents answer held requests is off.Ask the agent again if you want the change. To let agents answer held requests, turn on Settings ▸ Breakpoints ▸ Let agents answer held requests.
consent_timeoutNobody answered the approval panel within 45 seconds. The panel closed, and nothing changed.Ask the agent to try again, and answer the panel within 45 seconds.
limit_reachedThe free version allows 2 host filters and 1 rule. The limits apply to agents too.Remove a host filter or delete the rule, or upgrade to Pro.

The approval panel floats over other apps and does not take the keyboard. When it opens while you are in another app, the ReqRes Dock icon bounces. See Approve agent changes and Free version and Pro.

The agent's own requests are missing

The agent's tool calls work, but the requests it makes are not in the traffic list. In the "AI bridge" popover at the bottom of the sidebar, Show its traffic is dimmed. Its tooltip names the agent:

No captured requests from <agent> yet. A command-line agent needs the environment in Settings ▸ Capture.

A command-line agent such as the Claude Code CLI ignores the system proxy, like curl, git, Go programs and processes inside Docker containers. Its requests reach ReqRes only when its terminal sets the proxy variables. Claude Desktop, VS Code, Cursor and other Electron apps read the system proxy, and need nothing else once the certificate is trusted.

  1. Open Settings ▸ Capture.
  2. Under Capture a command-line tool, click Export CA Certificate… and save the file.
  3. Click Copy above the Environment block.
  4. Quit the agent, paste the lines into a terminal, and start the agent from that terminal.

The agent can fetch the same lines with the capture_environment tool.

The lines carry the port set in Settings ▸ Capture ▸ Proxy port. Lines pasted before you changed the port point at the old one, so copy them again. See Change the proxy port.

If the agent's HTTPS requests appear only as rows that say "not decrypted", the ReqRes certificate is not installed and trusted. The agent sees them as kind=relay rows, with no URLs, headers or bodies. See HTTPS rows say "not decrypted".

To confirm, look at the last line of Capture a command-line tool in Settings ▸ Capture, below the notes under the environment lines. It starts with "Reached ReqRes from outside an app bundle in this capture:" and names the tool, such as node, or claude.exe for the Claude Code CLI. See Capture command-line tools and agents.

The agent sees capture running, but no new requests

The agent's capture_status reads "Capture: running", yet list_sessions brings nothing new. Its Delivery: line says why:

  • "Delivery: reconnecting to the running capture" means ReqRes opened while capture kept running without it, for example after a crash. Wait a few seconds, then ask the agent again. The requests captured meanwhile reach it once ReqRes reconnects.
  • "Delivery: NOT reaching ReqRes" means ReqRes could not get the capture back by itself. The line says why. Click Restart Capture in the traffic list or the menu bar menu.
  • "Delivery: another copy of ReqRes holds this capture's connection" means the agent talks to a copy of ReqRes that does not hold the capture's connection, so it receives nothing new. Use the other copy, or quit it, which stops its capture, and start capture in the copy the agent talks to.

See What the Delivery line says and ReqRes quit while capturing.

The App column is missing

The traffic list has no App column, and agents see all requests as Unknown. app: and pid: searches show "Not available on this Mac — Capture ▸ Diagnose Setup… explains."

ReqRes reads which process owns each connection from the kernel's socket table. It checks that it can read the table each time capture starts. If the check fails, most likely after a macOS update, ReqRes hides the column instead of guessing. Capture is unaffected.

  1. Choose Capture ▸ Diagnose Setup…. The Process attribution check reports the problem.
  2. Stop capture and start it again.
  3. If the column is still missing, report it with your macOS version. Click the Send feedback button (the envelope) in the toolbar.