bug from @ada on checkout → acme/core#214FREESHIP discount applied but total doesn't update
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.
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.
One persistent button, configurable position and label. No login, no modal stack — just an inline panel.
The current viewport is captured client-side. Optionally let users crop the area they want to talk about.
Arrows, circles, scribbles. Then mark as bug, feature, or other, and leave a comment.
A clean issue is opened in GitHub or GitLab — with the screenshot, drawings, console trace, URL, browser, OS, build, and user.
Triage from the issuebeam dashboard if you want a queue. Or skip the dashboard entirely and let everything land in your existing tools.
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.
Every issue posts to a channel of your choosing. Reply with /beam assign @noor or /beam close.
bug from @ada on checkout → acme/core#214Filter, search, merge duplicates, replay sessions. Or ignore it entirely if the GitHub side is enough.
Pull any issue into the editor. The agent reads the description, the drawn screenshot, the URL, the location in code — and gets to work.
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.
/beam in Cursor + VS Code. Pull the issue, the plan, and the drawn screenshot directly into your editor./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 L62plan.md · claude 1. Likely cause: theclaude apply plan → ✓ patched Total.tsx → ✓ patched useCart.ts → ✓ updated Discount.test.ts (1 case) → ✓ ready to open PRFREESHIPhandler updatesshippingCostbut thetotalmemo 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: addshippingCostto theuseMemodeps in Total.tsx · update existing test.
Drop a single line before </body>. Or use the Next.js, Remix, Astro, or Nuxt component if you'd rather configure it in code.
app-id.claude to write resolution plans automatically.<!-- 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>
// app/layout.tsx (Next.js)
import { BeamWidget } from "@issuebeam/react";
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<BeamWidget
appId="YOUR_APP_ID"
position="right-middle"
/>
</body>
</html>
);
}# install the issuebeam CLI $ npx issuebeam init # or install the Cursor / VS Code extension $ code --install-extension issuebeam.beam # wire up MCP — your agent now speaks issuebeam $ issuebeam mcp install --client cursor
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 |
Three tiers. No per-seat games. No surprise overage emails. Cancel anytime.
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.
beam; in marketing copy we write Beam.
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.