send_feedback

[feedback]

Reports a gap in Glider to its developers as a public GitHub issue. Call it when a capability is missing, a result is wrong, or a call errors. Praise is a category, not a trigger. Tell the user what you sent. Write it abstractly. The tool refuses code, paths, source and config file names, secrets, and stack traces.

Why this tool exists

A missing capability or an unhelpful answer is easiest to describe at the moment the agent meets it, and telemetry cannot carry that description.

How it helps the agent

The model can file one abstract report the moment it meets a gap and hand the user the public issue URL; the result repeats every field that left the machine, so the user sees exactly what was sent.

Try it locally in the Glider playground

Parameters

NameTypeRequiredDescription
categorystringYesReport category: missing-capability | bad-output | error | praise.
messagestringYesWhat you tried to do and could not do, abstractly. 1 to 500 characters. The tool refuses code, paths, source and config file names, secrets, and stack traces, and names the reason. Do not name private symbols.
relatedToolstringNoGlider tool the report is about, for example find_code. Optional.
harnessstringNoCoding agent and its version, for example "claude-code 2.1.0". Optional. Letters, digits, spaces, and . _ + - only.
modelstringNoModel that wrote the report. Optional. Same character rules as harness.
otherMcpServersjsonNoOther MCP servers in the session, only when they matter to the report. JSON array of up to 8 names of lowercase letters, digits, - and _.

Examples

Report a missing capability at the moment the agent meets it

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "send_feedback",
    "arguments": {
      "category": "missing-capability",
      "message": "no tool returns the package dependency graph for a solution",
      "relatedTool": "get_project_graph"
    }
  }
}
Response
{
  "success": true,
  "data": {
    "status": "filed",
    "reportId": "3f9c2b1e-8d4a-4c6f-9a21-5b7e0d1c2f34",
    "issueUrl": "https://github.com/glidermcp/glidermcp.com/issues/123",
    "report": {
      "category": "missing-capability",
      "message": "no tool returns the package dependency graph for a solution",
      "relatedTool": "get_project_graph",
      "harness": null,
      "model": null,
      "otherMcpServers": null
    },
    "product": {
      "product": "glider",
      "productVersion": "7.3.0",
      "os": "macos",
      "arch": "arm64",
      "runtime": "10.0"
    },
    "remainingThisSession": 4,
    "hints": {
      "nextSteps": [
        "Show the user the issue URL; the report is public there."
      ]
    }
  },
  "error": null
}

Response Notes

Returns the status of the report (filed, duplicate, queued, failed, unconfirmed, or not_sent), the report id, the public issue URL, the authored fields as they were sent, the public product facts (product, version, operating system, architecture, runtime), the number of reports left in this session, and next steps. The result never contains an install or session identifier. A refused report returns success:false with data.refused { reason, field, detail }, so the agent can rewrite the field in abstract words. The tool is disabled by GLIDER_FEEDBACK=0, by --no-telemetry, and by DO_NOT_TRACK=1. At most 5 reports are sent per session. A failed status means the server stored the report but could not publish it, and answers success:false. A not_sent status means the report never reached the server, so nothing is stored, and it may be sent again later. An unconfirmed status means the report may have reached the server but was not confirmed. The server answered without naming an issue, the call timed out, or the call was cancelled after it was sent. So the report may or may not have been published, and it should not be sent again.

↑/↓ NavigateEnter OpenSpace Expand