[Bug] /feedback command generates broken GitHub URLs for long submissions

Resolved 💬 2 comments Opened Mar 17, 2026 by jordan-of Closed Apr 15, 2026

Bug Description
Title: /feedback command generates broken GitHub URLs for long submissions

Submitted by: Jordan Dea-Mattson, Head of Product & Technology at OrdinaryFolk
Email: jdm@devopspm.com / jordan@ordinaryfolk.health
GitHub: jordan-of / jordandm

Problem

The /feedback command encodes the entire feedback body into a GitHub new issue URL query parameter. When the body is long or contains special characters (markdown tables, box-drawing characters, code
blocks), the resulting URL:

  1. Exceeds browser URL length limits (~2000-8000 chars depending on browser)
  2. Returns a 400 error when opened
  3. Mangles formatting — markdown tables rendered with box-drawing characters (┌─┬─┐) get URL-encoded into massive character sequences

Steps to reproduce

  1. Run /feedback with a detailed feature request (~300+ words)
  2. Include a markdown table in the body
  3. The CLI prints "Feedback / bug report submitted" (success)
  4. Browser opens a GitHub URL that 400s

Example URL (truncated)

https://github.com/anthropics/claude-code/issues/new?title=...&body=Bug%20Description%0A...%E2%94%8C%E2%94%80%E2%94%80...

The body parameter alone was thousands of characters of URL-encoded markdown.

Expected behavior

For long feedback, the command should either:

  1. Use the GitHub API (gh issue create) instead of a URL — no length limit, preserves formatting
  2. Open the URL with just the title and copy the body to clipboard, prompting the user to paste
  3. Fall back gracefully — detect when the body exceeds URL limits and use an alternative submission method

Current workaround

The CLI submission itself appears to succeed ("Feedback / bug report submitted"), so the feedback likely reaches Anthropic. But the broken GitHub URL gives the impression it failed, and no public issue
is created for community visibility or tracking.

Environment

  • Claude Code on macOS (Darwin 25.2.0)
  • Default browser: likely Safari or Chrome (both have URL length limits)

Environment Info

  • Platform: darwin
  • Terminal: iTerm.app
  • Version: 2.1.77
  • Feedback ID: 5856cd44-572b-4587-a5eb-25156012715f

Errors

[{"error":"Error: NON-FATAL: Lock acquisition failed for /Users/jordan_of/.local/share/claude/versions/2.1.77 (expected in multi-process scenarios)\n    at ovT (/$bunfs/root/src/entrypoints/cli.js:2648:2192)\n    at uxq (/$bunfs/root/src/entrypoints/cli.js:2648:1336)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T07:25:26.184Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/jordan_of/code.\n    at call (/$bunfs/root/src/entrypoints/cli.js:1526:6510)\n    at async iWK (/$bunfs/root/src/entrypoints/cli.js:3661:6746)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T08:29:17.199Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/jordan_of/code.\n    at call (/$bunfs/root/src/entrypoints/cli.js:1526:6510)\n    at async iWK (/$bunfs/root/src/entrypoints/cli.js:3661:6746)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T08:29:17.545Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/jordan_of/code.\n    at call (/$bunfs/root/src/entrypoints/cli.js:1526:6510)\n    at async iWK (/$bunfs/root/src/entrypoints/cli.js:3661:6746)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T08:29:17.935Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/jordan_of/code.\n    at call (/$bunfs/root/src/entrypoints/cli.js:1526:6510)\n    at async iWK (/$bunfs/root/src/entrypoints/cli.js:3661:6746)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T08:29:18.079Z"},{"error":"Error: ripgrep exited with code null\n    at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:101:18244)\n    at emit (node:events:98:22)\n    at #maybeClose (node:child_process:766:16)\n    at #handleOnExit (node:child_process:520:72)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T08:33:19.318Z"},{"error":"RipgrepTimeoutError: Ripgrep search timed out after 20 seconds. The search may have matched files but did not complete in time. Try searching a more specific path or pattern.\n    at $ (/$bunfs/root/src/entrypoints/cli.js:103:242)\n    at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:103:456)\n    at <anonymous> (/$bunfs/root/src/entrypoints/cli.js:101:18315)\n    at emit (node:events:98:22)\n    at #maybeClose (node:child_process:766:16)\n    at #handleOnExit (node:child_process:520:72)\n    at processTicksAndRejections (native:7:39)","timestamp":"2026-03-17T08:33:19.321Z"},{"error":"Error: File does not exist. Note: your current working directory is /Users/jordan_o…

Note: Content was truncated.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗