Issuebeam
in-app feedback · github · gitlab · cursor

beam
bugs from your users
into the repo you ship from.

One script tag. Users click a button, scribble on a screenshot, and tag it. You get a real GitHub or GitLab issue — with the drawing, the trace, the URL, and a Claude-written plan on how to resolve it.

GitHub native GitLab native Cursor MCP Slack bot Free forever tier
screenshot captured → acme/core · gh issue #214 plan ready · 3 files
app.acme.com/checkout
Review & pay
Card on file Visa •••• 4242 · expires 06/29
Discount code FREESHIP — applied but total didn't change
Shipping Standard · 3–5 business days
Place order — $48.20
total still says $48.20, not $40.20
Send feedback → acme/core
bug feature other
FREESHIP applied — total didn't go down on checkout.
+ screenshot · trace · build 2026.05.16 beam⌘↵
Feedback
In the toolbelt at
CarFast RentFast MusicFast GuestFast Pamfili.co
for your users · zero training

From a sigh to a synced issue — in four taps.

Your users never opened Jira. They've never even seen your repo. issuebeam meets them where they are: a small button in the corner of your product.

click

Tap the button.

One persistent button, configurable position and label. No login, no modal stack — just an inline panel.

Feedback
capture

We grab the screen.

The current viewport is captured client-side. Optionally let users crop the area they want to talk about.

annotate

Draw on it. Tag it.

Arrows, circles, scribbles. Then mark as bug, feature, or other, and leave a comment.

bug feature other
the total didn't update.
land

It hits your repo.

A clean issue is opened in GitHub or GitLab — with the screenshot, drawings, console trace, URL, browser, OS, build, and user.

synced
acme/core · #214 FREESHIP discount applied but total doesn't update @ada · checkout · 14:02 opened
for your team · zero context-switching

Lands where you already work.

Triage from the issuebeam dashboard if you want a queue. Or skip the dashboard entirely and let everything land in your existing tools.

GitHub·GitLab

A real issue. Real labels. Real assignees.

Not a comment thread. Not an email. A native issue in the repo you ship from, with every screenshot, drawing, trace and metadata attached. Configure label mapping per project — bug / feature / other → your existing taxonomy.

Open acme/core · #214 · opened by @ada via issuebeam
FREESHIP discount applied but total doesn't update on checkout
bug checkout user-reported
📎 screenshot.png 📎 trace.txt build 2026.05.16
Slack

Triage from #bugs.

Every issue posts to a channel of your choosing. Reply with /beam assign @noor or /beam close.

issuebeam APP · 2:04pm
🪲 new bug from @ada on checkoutacme/core#214
FREESHIP discount applied but total doesn't update
issuebeam dashboard

One inbox for every app.

Filter, search, merge duplicates, replay sessions. Or ignore it entirely if the GitHub side is enough.

12 new acme/core
3 bugs · 6 features · 3 other
checkout (4) auth (2) onboarding (1)
Cursor · VS Code · MCP

Type /beam in the agent.

Pull any issue into the editor. The agent reads the description, the drawn screenshot, the URL, the location in code — and gets to work.

/beam fetch acme/core#214
downloaded screenshot.png · trace.txt · plan.md
opening checkout/Total.tsx
the agent loop

When you connect your repo, Claude writes the plan.

The moment an issue lands, issuebeam — with your repo configured — asks Claude to read the description, the drawing, the file the user was on, and your codebase. It writes a short plan, lists the files to touch, and hands the whole thing back to your agent.

  • Plan attached to every issue. A short list of likely files, the suspected root cause, and a suggested fix.
  • /beam in Cursor + VS Code. Pull the issue, the plan, and the drawn screenshot directly into your editor.
  • MCP server included. Your agent can list, open, and update issuebeam issues itself. Same code-path the dashboard uses.
  • Your code stays your code. Plans are generated using only the files the agent needs; nothing is stored on our side.
Agent Composer Terminal
/beam list --unread
3 unread in acme/core
    #214  bug FREESHIP discount doesn't update total · @ada · 3m ago
    #213  bug CSV export hangs >20k rows · @noor · 14m ago
    #212  bug Onboarding step fails on org with slash · @james · 41m ago

/beam open 214
→ pulled screenshot.png · drawings · trace · plan.md
→ opening src/checkout/Total.tsx at L62
plan.md · claude 1. Likely cause: the FREESHIP handler updates shippingCost but the total memo doesn't include it as a dependency — so the UI re-renders with the stale total. 2. Files to touch: Total.tsx · useCart.ts · Discount.test.ts 3. Suggested fix: add shippingCost to the useMemo deps in Total.tsx · update existing test.
claude apply plan patched Total.tsx patched useCart.ts updated Discount.test.ts (1 case) ready to open PR
install

One script tag. Two minutes.

Drop a single line before </body>. Or use the Next.js, Remix, Astro, or Nuxt component if you'd rather configure it in code.

  1. Sign up and create your first app — get an app-id.
  2. Paste the script on the right into your site.
  3. Connect a repo in the dashboard (GitHub, GitLab, or both).
  4. (Optional) connect claude to write resolution plans automatically.
Read the docs
HTMLReact / Next.jsCLI
<!-- paste before </body> -->
<script defer
  data-app-id="YOUR_APP_ID"
  data-position="right-middle"
  data-button-text="Feedback"
  data-theme="auto"
  src="https://issuebeam.com/js/feedback.js">
</script>
Bundle size
12 kb
gzipped · zero deps
Time to first issue
≈ 2 min
install → first issue synced
Frameworks
all
React · Vue · Svelte · static · WordPress
how we're different

Other widgets file issues somewhere else.

Most feedback tools live in their own database and ask your team to come visit. issuebeam takes the opposite stance: the issue is the artifact, and the artifact lives in your repo.

issuebeam Marker.io Userback Sentry (feedback)
GitHub native real issue
GitLab native first-class
Screenshot + draw
Claude-written resolution plan attached to issue
Cursor / VS Code /beam MCP + extension
Free forever tier 14-day trial 14-day trial
Time to first issue 2 min ~10 min ~15 min ~30 min
pricing · simple, predictable

Free until it works. Then cheap.

Three tiers. No per-seat games. No surprise overage emails. Cancel anytime.

Solo
For side projects, beta apps, and small teams kicking the tires.
$0 / forever
  • 1 app · 1 repo
  • 200 issues/month
  • GitHub or GitLab sync
  • Screenshot + annotation
  • community support
Studio
Multi-client agencies and design studios shipping for others.
$79 / month
  • Everything in Team
  • White-label widget
  • Per-client workspaces
  • SSO + audit log
  • SLAs & account manager
questions

The things people ask before they install.

How is this different from GitHub Issues itself?
GitHub Issues is for developers. Your end users will never log in to GitHub, let alone file an issue. issuebeam is the bridge: the user clicks a button in your product, and a real, well-tagged GitHub or GitLab issue appears — with the things developers actually need (screenshot, drawing, URL, trace, build, user) already attached.
Do I have to use the dashboard?
No. Many teams just point issuebeam at a repo and watch issues flow into GitHub. The dashboard is there for triage, merging duplicates, and replaying sessions — but it's optional.
What is the Claude integration, exactly?
When you connect a repo, every new issue gets a short plan.md generated by Claude — a likely root cause, a list of files to touch, and a suggested fix. The plan is attached to the issue. In Cursor or VS Code, your agent can pull the issue, the plan, and the drawn screenshot into the editor with /beam open #214.
Is my code sent to Claude?
Only the files Claude needs to read to write the plan — never your entire codebase. We don't retain code on our servers after plan generation. Self-hosted Claude options are on the Studio tier.
What frameworks does the widget support?
All of them. The widget is a vanilla JS script tag — works on Next.js, Remix, Astro, Nuxt, Svelte, plain HTML, WordPress, Webflow, Shopify, you name it. We also publish first-party React, Vue, and Svelte components for cleaner integration.
What's the difference between issuebeam.com and Beam?
They're the same thing — “Beam” is the product name, “issuebeam.com” is the domain. You'll see both. In our wordmark and CLI we use lowercase beam; in marketing copy we write Beam.
Can I self-host?
The widget is already client-side (your users never hit our servers for capture). For the sync/dashboard side, a self-hosted option is available on the Studio tier — talk to us.
free · no credit card

Your users always knew. Now you do, too.

One script tag. Every bug, with the trace and a Claude-written plan, lands in the repo you already ship from. Free until it works.