Skip to main content

Syntax

Description

The issue create command creates a new issue in your sudocode project. Issues are the second tier in sudocode’s abstraction structure, capturing how to implement what specs define. When you create an issue, sudocode:
  • Generates a unique issue ID (e.g., ISSUE-001, ISSUE-002)
  • Stores the issue in the SQLite database with status open
  • Exports to JSONL for version control
  • Applies any tags and assignee you specify
Issues represent concrete, actionable tasks scoped to what an agent (or human) can complete in a single focused session.

Arguments

string
required
The title of your issueExample: "Implement OAuth 2.0 token endpoint"The title should be clear and action-oriented. Use verb phrases like “Implement X”, “Fix Y”, or “Add Z”.

Options

number
default:"2"
Priority level (0-4, where 0 is highest)Example: --priority 1Priority levels:
  • 0 - Critical (highest priority)
  • 1 - High
  • 2 - Medium (default)
  • 3 - Low
  • 4 - Lowest
Priority affects execution order when combined with dependency resolution.
string
Initial description/content for the issueExample: --description "Create REST endpoint for OAuth token exchange"This becomes the content of the issue. You can provide detailed information, acceptance criteria, or implementation notes.
string
Assignee for the issueExample: --assignee "agent-backend-dev"Can be an agent ID, username, or any identifier for who should work on this issue.
string
Parent issue ID for hierarchical organizationExample: --parent ISSUE-001Use this to create subtasks under a parent issue (epic), enabling hierarchical organization of work.
string
Comma-separated tags for organizationExample: --tags "backend,api,auth"Tags help with filtering and organizing issues. Use commas to separate multiple tags (no spaces).

Examples

Basic Issue Creation

Create a simple issue with default priority:
This creates:
  • Issue ID: ISSUE-001
  • Status: open
  • Priority: 2 (default)
  • No assignee

Issue with Description and Priority

Create a high-priority issue with detailed description:

Issue with Assignee

Create an issue and assign it immediately:

Subtask (Child Issue)

Create a subtask under a parent issue:
This creates a hierarchy:

Issue with Tags

Create an issue with multiple tags:

Complete Issue with All Options

Create a fully-specified issue:

After Creating an Issue

After creating your issue, you can:

Link to Spec

View Issue Details

Update Status

Create Dependencies

Issue Lifecycle

Issues progress through these statuses:
1

open (default)

Ready to be worked on
2

in_progress

Currently being worked on
3

blocked

Waiting on dependencies
4

needs_review

Implementation complete, awaiting review
5

closed

Work completed
Use sudocode issue update to change status as work progresses.

Common Workflows

Creating Issues from a Spec

1

Review the spec

2

Create implementation issues

3

Link issues to spec

4

Model dependencies

Creating an Epic with Subtasks

1

Create the epic

2

Create subtasks

3

Assign subtasks

Bug Report to Issue

1

Create bug issue

2

Assign immediately

3

Link to spec if applicable

JSON Output

Use the global --json flag for machine-readable output:

Common Questions

No, issue IDs are immutable and generated sequentially. They ensure stable references across the system.
Specs capture WHAT to build (user intent, requirements, design decisions).Issues capture HOW to implement (actionable tasks, implementation details).Rule of thumb: If it can be completed in one agent session, it’s an issue. If it requires multiple independent tasks, it’s a spec.
Yes! Issues can exist independently. While it’s common to link issues to specs with implements relationships, it’s not required. Bug fixes and chores often don’t need specs.
Use issue update to set yourself as assignee:
Yes, you can create hierarchical issue structures with multiple levels:

Troubleshooting

Cause: No .sudocode/ directory foundSolution:
Cause: Priority must be 0-4Solution:
Cause: The parent issue ID doesn’t existSolution: Verify the parent issue exists:
Create the parent issue first if needed.
Cause: Issues are stored in the database, not as visible files by defaultSolution: List all issues:
View specific issue:

issue list

List all issues with filtering

issue show

View issue details

issue update

Update existing issue

issue close

Close completed issues

link

Link issues to specs

ready

Find ready work

Next Steps

1

Create your first issue

2

Link to a spec

3

Start working on it

4

Complete and close

Issues Concept Guide

Learn more about issues and their role in sudocode’s workflow