multica-ai/multica · error
list child issues: %w
Error message
list child issues: %w
What it means
The parent issue resolved, but the GET to /api/issues/{id}/children failed while fetching sub-issues. The response is decoded into a struct with an `issues` array; the error fires before any decoding/sorting, so the cause is transport, auth, or an HTTP error status on this sub-resource.
Source
Thrown at server/cmd/multica/cmd_issue.go:895
func runIssueChildren(cmd *cobra.Command, args []string) error {
client, err := newAPIClient(cmd)
if err != nil {
return err
}
ctx, cancel := cli.APIContext(context.Background())
defer cancel()
issueRef, err := resolveIssueRef(ctx, client, args[0])
if err != nil {
return fmt.Errorf("resolve issue: %w", err)
}
var resp struct {
Issues []map[string]any `json:"issues"`
}
if err := client.GetJSON(ctx, "/api/issues/"+issueRef.ID+"/children", &resp); err != nil {
return fmt.Errorf("list child issues: %w", err)
}
children := resp.Issues
// Order by stage ascending (unstaged last), preserving the API's
// within-stage order (position, then created_at desc).
sort.SliceStable(children, func(i, j int) bool {
si, oki := childStage(children[i])
sj, okj := childStage(children[j])
if oki != okj {
return oki // staged before unstaged
}
return si < sj
})
output, _ := cmd.Flags().GetString("output")
if output == "table" {
actors := loadActorDisplayLookup(ctx, client)
headers := []string{"STAGE", "KEY", "TITLE", "STATUS", "PRIORITY", "ASSIGNEE"}View on GitHub (pinned to 2c0912b6ec)
Solutions
- Check the wrapped error's status: 401/403 → fix auth/scope; 5xx/connection → wait for server health and retry.
- Confirm the parent still exists with `multica issue get <ref>` (a deleted parent surfaces here as 404).
- In recursive tree scripts, catch and log per-parent failures instead of aborting.
Defensive patterns
Strategy: retry
Try / catch
# tree-walk helper: retry transient, fail fast on auth for i in 1 2 3; do out=$(multica issue children "$PARENT_ID" 2>&1) && break case "$out" in *401*|*403*|*404*) echo "$out" >&2; exit 1;; esac sleep $((i*2)) done echo "$out"
Prevention
- In recursive child traversals, catch per-parent errors and continue the walk.
- Verify server health before starting large tree walks.
When it happens
Trigger: Running `multica issue children <valid-ref>` with the server down, an expired token (401), no read permission on the parent's children (403), or a server 5xx on this endpoint.
Common situations: Server restarts during tree-walking scripts; tokens expiring mid-traversal; workspace permission changes.
Related errors
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/01cec2b329828830.
Report an issue: GitHub.