Skip to content

Problem Commands

Problem Commands

Problems represent what needs to be solved. They can be organized hierarchically with parent-child relationships and assigned to milestones.

Entity Resolution

All commands that take a problem ID support multiple resolution methods:

  • Fuzzy title match: "App crashes" or "auth module" — matches against problem titles
  • Truncated prefix: 01957d — minimum 6 hex characters from the UUID
  • Full UUID: 01957d3e-a8b2-7def-8c3a-9f4e5d6c7b8a

If multiple entities match, an interactive picker appears (TTY) or suggestions are shown (non-TTY).

jjj problem new

Create a new problem.

jjj problem new <title> [OPTIONS]
FlagTypeDefaultDescription
--prioritystringmediumPriority: critical, high, medium, low
--parentstringParent problem (title, prefix, or UUID)
--milestonestringMilestone to target (title, prefix, or UUID)
--tagsstringComma-separated tags (e.g., backend,auth,size:L)
--force, -fflagCreate even if a similar problem already exists
jjj init
jjj problem new "App crashes on startup" --priority high
jjj problem new "Null pointer in auth module" --parent "App crashes"
jjj problem new "Improve test coverage"

jjj problem list

List all problems.

jjj problem list [OPTIONS]
FlagTypeDescription
--statusstringFilter by status (open, in_progress, solved, dissolved)
--treeboolShow hierarchical tree view
--milestonestringFilter by milestone
--searchstringSearch problems by title text
--tagstringFilter by tag (case-insensitive exact match)
--jsonboolOutput in JSON format
jjj problem list
jjj problem list --status open
jjj problem list --tree
jjj problem list --json

jjj problem show

Show problem details.

jjj problem show <problem> [OPTIONS]
FlagTypeDescription
--jsonboolOutput in JSON format
jjj problem show "App crashes"
jjj problem show "App crashes" --json

jjj problem edit

Edit problem details.

jjj problem edit <problem> [OPTIONS]
FlagTypeDescription
--titlestringNew title
--statusstringNew status (open, in_progress, solved, dissolved)
--prioritystringSet priority: critical, high, medium, low
--parentstringSet parent problem
--add-tagstringAdd a tag
--remove-tagstringRemove a tag
jjj problem edit "App crashes" --title "App crashes on cold startup" --priority critical

jjj problem tree

Show problem hierarchy as a tree.

jjj problem tree [problem]

If no problem is given, shows all root problems and their children.

jjj problem tree
jjj problem tree "App crashes"

jjj problem solve

Mark a problem as solved. Requires an approved solution.

jjj problem solve <problem>
Terminal window
jjj problem solve "App crashes"

jjj problem dissolve

Mark a problem as dissolved (based on false premises).

jjj problem dissolve <problem> [OPTIONS]
FlagTypeDescription
--reasonstringReason for dissolving
Terminal window
jjj problem dissolve "test coverage" --reason "Turned out to be expected behavior"

jjj problem reopen

Transition a solved or dissolved problem back to open.

jjj problem reopen <problem>

Useful when a previously solved problem recurs or a dissolved problem turns out to be real after all.

Terminal window
jjj problem reopen "App crashes"

jjj problem graph

Render the problem hierarchy as an ASCII DAG (directed acyclic graph).

jjj problem graph [OPTIONS]
FlagTypeDescription
--allflagInclude solved and dissolved problems (default: active only)
--milestonestringFilter to problems in a specific milestone

By default only open and in-progress problems are shown. Use --all to include solved () and dissolved (×) problems.

Terminal window
jjj problem graph
jjj problem graph --all
jjj problem graph --milestone "Q1 Release"

Example output:

○ Authentication system [open]
├─ ○ Login flow [in_progress]
│ └─ ○ OAuth2 integration [open]
└─ ○ Session management [open]
○ Performance monitoring [open]
└─ ○ Request latency tracking [open]

Icons: open/in-progress, solved, × dissolved.

jjj problem assign

Assign a problem to a person.

jjj problem assign <problem> [OPTIONS]
FlagTypeDescription
--tostringAssignee name (defaults to self)
Terminal window
jjj problem assign "App crashes" --to alice