CLI & Agent Skill

Full access to FeedbackBasket
from your terminal.

feedbackbasket is the official command-line interface for FeedbackBasket. Manage projects, feedback, waitlist capture, widgets, and team from your terminal or through AI agents.

Version 3.0.0 maps all 31 product operations to the same contract as both MCP transports. Agent and machine use needs --yes for high-impact commands.

terminal
npm install -g feedbackbasket-cli

Works with any AI agent that can run shell commands — Claude Code, Codex, Cursor, OpenCode. Full setup instructions

FeedbackBasket CLI

The official command-line interface. Everything you can do in the dashboard, you can do from the terminal. Create projects, configure feedback or waitlist capture, triage submissions, export data, set up mobile feedback, and manage your team.

Browser login — one click locally, manual flow when callbacks are blocked
Smart output — styled for humans, JSON for agents
Name resolution — use project names, not IDs
Breadcrumbs guide you to the next command

Agent Skill

Agent skill for feedback and waitlist management — projects, signups, bugs, feature requests, widgets, and team. Install once, use from any supported coding agent.

Auto-installed during CLI login
Triggers on feedback, bugs, and project keywords
Full command reference for the agent
Works alongside MCP for IDE-native access

Everything the dashboard can do.
Now from the terminal.

Projects

create, show, update, delete

feedbackbasket projects create "My App" --url https://...

Feedback

create, list, show, search, update, note, reply, replies, delete, bulk-update, export

feedbackbasket feedback create "Login bug" --project myapp --type bug

Bug Reports

list, stats

feedbackbasket bugs list --severity high

Widget

settings, flow, script

feedbackbasket widget flow myapp --enable

Waitlist

list (--search), export

feedbackbasket waitlist list myapp --agent

Team

list, role, remove

feedbackbasket team list

Auth

login, logout, status, token

feedbackbasket login

See it in action

From login to managing feedback in under a minute.

terminal
$ npm install -g feedbackbasket-cli
added 43 packages
$ feedbackbasket login
✓ Logged in as vlad@feedbackbasket.com
✓ Default project: My SaaS App
✓ Claude Code skill installed
$ feedbackbasket projects list
My SaaS App cm3x...  42 12 5
Landing Page cm4a...  18  3 1
$ feedbackbasket widget script "My SaaS App"
<script src="https://feedbackbasket.com/api/widget/script/cm3x..." defer></script>
$ feedbackbasket feedback create "Login bug" --project "My SaaS App" --type bug
Feedback created: cm8x...
$ feedbackbasket bugs list --severity high
[HIGH] [OPEN] Login broken on Safari 17.4
[HIGH] [OPEN] Payment form crashes on mobile
2 bugs (2 high, 0 medium, 0 low)

Add a waitlist to your own form

Waitlist mode uses the same project and embed script as the feedback widget. Switching modes hides the feedback bubble and makes the script bind to forms you annotate, without replacing their design.

1. Switch the project to waitlist capture and get its script.

2. Add the waitlist attribute to a form on the project's configured website.

3. Search signups in the dashboard or CLI, or export them as CSV.

1. Enable waitlist mode
feedbackbasket widget settings myapp --capture-mode waitlist
feedbackbasket widget script myapp
2. Annotate your form
<form data-feedbackbasket-waitlist>
  <input name="name" autocomplete="name">
  <input name="email" type="email" autocomplete="email" required>
  <button type="submit">Join the waitlist</button>

  <span data-waitlist-success>You're on the list.</span>
  <span data-waitlist-error>Please try again.</span>
</form>
3. Show submission state
[data-waitlist-success],
[data-waitlist-error] { display: none; }

[data-feedbackbasket-state="success"] [data-waitlist-success],
[data-feedbackbasket-state="error"] [data-waitlist-error] {
  display: inline;
}

The script uses native form validation, disables submit buttons while loading, and sets data-feedbackbasket-state to loading, success, or error. Email is required, name is optional, and repeat signups update the existing entry instead of creating duplicates. Do not add a competing submit handler.

Manage signups
feedbackbasket waitlist list myapp --agent
feedbackbasket waitlist list myapp --search "@example.com" --limit 50
feedbackbasket waitlist export myapp

Command Reference

Full list of available commands. Use feedbackbasket --help for details on any command.

Authentication
feedbackbasket login                   # Browser OAuth — one click
feedbackbasket login --manual          # No localhost browser callback (remote servers)
feedbackbasket login --token <token>   # Use an existing CLI token (CI / scripts)
feedbackbasket logout
feedbackbasket auth status
feedbackbasket auth token              # Print token for scripting
Projects — accepts name or ID
feedbackbasket projects list
feedbackbasket projects show myapp
feedbackbasket projects create "My App" --url https://myapp.com
feedbackbasket projects update myapp --description "Updated"
feedbackbasket projects delete myapp
Feedback
feedbackbasket feedback create "Login bug" --content "Clicking Log in does nothing" --project myapp --type bug
feedbackbasket feedback create "Feature idea" --content "Let users export saved views" --project myapp --type feature --metadata source=agent
feedbackbasket feedback list --category BUG --status OPEN
feedbackbasket feedback show <id>
feedbackbasket feedback search "crash on mobile"
feedbackbasket feedback update <id> --status PLANNED
feedbackbasket feedback note <id> "Investigating..."
feedbackbasket feedback reply <id> "Thanks!" --delivery email --reply-to support@example.com
feedbackbasket feedback reply <id> "Thanks!" --delivery widget
feedbackbasket feedback reply <id> "Thanks!" --delivery in-app
feedbackbasket feedback reply <id> "Thanks!" --delivery both --reply-to support@example.com
feedbackbasket feedback replies <id>
feedbackbasket feedback delete <id>
feedbackbasket feedback bulk-update --status CLOSED --ids id1,id2
feedbackbasket feedback export myapp --format csv|md|json
Bugs, Widget, Team
feedbackbasket bugs list --severity high
feedbackbasket bugs stats

feedbackbasket widget settings myapp
feedbackbasket widget settings myapp --capture-mode waitlist
feedbackbasket widget settings myapp --capture-mode feedback
feedbackbasket widget settings myapp --color "#22c55e" --label "Feedback"
feedbackbasket widget settings myapp --show-email --allow-attachments
feedbackbasket widget settings myapp --allow-visitor-replies
feedbackbasket widget settings myapp --no-allow-visitor-replies
feedbackbasket widget settings myapp --email-read-only --hide-email-when-prefilled
feedbackbasket widget settings myapp --error-tracking --allow-console-errors
feedbackbasket widget flow myapp --reset-default --enable  # guided only when requested
feedbackbasket widget flow myapp --config ./feedback-flow.json
feedbackbasket widget script myapp

feedbackbasket waitlist list myapp
feedbackbasket waitlist list myapp --search "@example.com" --limit 50 --offset 0
feedbackbasket waitlist export myapp

feedbackbasket team list
feedbackbasket team role <memberId> --role admin
feedbackbasket team remove <memberId>
Mobile app feedback
feedbackbasket mobile status myapp
feedbackbasket mobile setup myapp --bundle-id com.example.app
feedbackbasket mobile setup myapp --bundle-id com.example.app --include-publishable-key --agent
feedbackbasket mobile bundle-ids myapp --add com.example.app.beta
feedbackbasket mobile bundle-ids myapp --remove com.example.app.beta
feedbackbasket mobile conversations myapp --enable
feedbackbasket mobile conversations myapp --disable
feedbackbasket mobile verify myapp --bundle-id com.example.app --wait 120
feedbackbasket mobile disable myapp --yes
feedbackbasket mobile rotate-key myapp --yes --include-publishable-key
Output modes
feedbackbasket projects list              # Auto: styled in TTY, JSON piped
feedbackbasket projects list --json      # JSON envelope with breadcrumbs
feedbackbasket projects list --agent     # Raw JSON for AI agents
feedbackbasket projects list --md        # Markdown