Usage
Description
Search and filter issues using a wide range of criteria. Supports text search, date ranges, label filtering, metadata queries, and more.Parameters
Core Filters
Filter by status:
open, in_progress, blocked, deferred, closed, pinned, hooked. Default: non-closed, non-pinned.Filter by priority: 0-4 or P0-P4
Filter by type:
bug, feature, task, epic, chore, decision, merge-request, molecule, gate, convoy. Aliases: mr→merge-request, feat→feature, mol→molecule, dec/adr→decisionFilter by assignee
Label Filters
Filter by labels (AND: must have ALL). Can combine with
--label-any.Filter by labels (OR: must have AT LEAST ONE). Can combine with
--label.Filter by label glob pattern (e.g.,
tech-* matches tech-debt, tech-legacy)Filter by label regex pattern (e.g.,
tech-(debt|legacy))Filter issues with no labels
Text Search
Filter by title text (case-insensitive substring match)
Filter by title substring (case-insensitive)
Filter by description substring (case-insensitive)
Filter by notes substring (case-insensitive)
Date Ranges
Filter issues created after date (YYYY-MM-DD or RFC3339)
Filter issues created before date (YYYY-MM-DD or RFC3339)
Filter issues updated after date
Filter issues updated before date
Filter issues closed after date
Filter issues closed before date
Priority Ranges
Filter by minimum priority (inclusive, 0-4 or P0-P4)
Filter by maximum priority (inclusive, 0-4 or P0-P4)
Hierarchy
Filter by parent issue ID (shows children of specified issue)
Exclude child issues (show only top-level issues)
Scheduling
Show only issues with defer_until set
Filter issues deferred after date
Filter issues deferred before date
Filter issues due after date
Filter issues due before date
Show only issues with due_at in the past (not closed)
Metadata
Filter by metadata field (format:
key=value, repeatable)Filter issues that have this metadata key set
Special Filters
Filter by specific issue IDs (comma-separated, e.g.,
bd-1,bd-5,bd-10)Filter by spec_id prefix
Filter issues with empty or missing description
Filter issues with no assignee
Show only pinned issues
Exclude pinned issues (default)
Show only ready issues (status=open, excludes hooked/in_progress/blocked/deferred)
Filter by molecule type:
swarm, patrol, or workFilter by wisp type:
heartbeat, ping, patrol, gc_report, recovery, error, escalationDisplay
Limit results (default 50, use 0 for unlimited)
Show all issues including closed (overrides default filter)
Show detailed multi-line output for each issue
Sort by field:
priority, created, updated, closed, status, id, title, type, assigneeReverse sort order
Display issues in a tree format with status/priority symbols
Alias for
--pretty: hierarchical tree formatWatch for changes and auto-update display (implies
--pretty)Disable pager output
Advanced
Output format:
digraph (for golang.org/x/tools/cmd/digraph), dot (Graphviz), or Go templateInclude template molecules in output
Include gate issues in output (normally hidden)
Include infrastructure beads (agent/rig/role/message) in output
Query a different rig’s database (e.g.,
--rig gastown, --rig gt-, --rig gt)Output
Output JSON for agent use
Examples
Basic Queries
Label Filtering
Text Search
Date Filters
Priority Ranges
Hierarchy
Time-Based
Metadata
Special Queries
Sorting
Cross-Rig
Watch Mode
JSON Output
With--json flag:
Complex Queries
Stale Issues
Sprint Planning
Security Issues
Technical Debt
Output Formats
Compact (Default)
Long Format
Pretty/Tree Format
Default Filters
By default,bd list excludes:
- Closed issues (use
--allor--status closedto include) - Pinned issues (use
--allor--pinnedto include) - Template molecules (use
--include-templates) - Gate issues (use
--include-gates) - Infrastructure beads (use
--include-infra)
Best Practices
For Agents
- Always use
--jsonfor parsing - Use
--limitto control result size - Use
--sortfor deterministic ordering - Filter by metadata for agent-specific queries
- Use
--readyinstead of manual status filtering for claimable work
For Humans
- Use
--prettyfor visual scanning - Combine filters for precise queries
- Use
--watchduring active development - Save complex queries as shell aliases
Performance Tips
- Add
--limitfor large result sets - Use specific filters instead of text search when possible
- Avoid
--allunless needed (excludes closed by default) - Use
--rigfor targeted cross-rig queries
Related Commands
bd ready- Find unblocked work (better than--ready)bd show- View detailed issue infobd update- Modify filtered issuesbd blocked- Show blocked issues