gastownhall/beads · error
--team requires interactive prompts and cannot be used with
Error message
--team requires interactive prompts and cannot be used with --non-interactive
What it means
Mirror of error 838 for the team wizard: --team starts an interactive prompt flow that cannot run with --non-interactive, so init fails fast with this message.
Source
Thrown at cmd/bd/init.go:583
// This must be computed before any interactive prompts.
nonInteractive := isNonInteractiveInit(nonInteractiveFlag)
// Validate --role flag value
if roleFlag != "" {
switch roleFlag {
case "maintainer", "contributor":
// valid
default:
return fmt.Errorf("invalid --role %q: must be \"maintainer\" or \"contributor\"", roleFlag)
}
}
// Fail-fast: contributor/team wizards require interaction
if nonInteractive && contributor {
return fmt.Errorf("--contributor requires interactive prompts and cannot be used with --non-interactive")
}
if nonInteractive && team {
return fmt.Errorf("--team requires interactive prompts and cannot be used with --non-interactive")
}
// Dolt is the only supported backend.
backend := configfile.BackendDolt
// Also treat BEADS_DOLT_SERVER_MODE=1 env var as --server.
if os.Getenv("BEADS_DOLT_SERVER_MODE") == "1" {
initServerMode = true
}
// Shared server mode still uses a Dolt sql-server, so it must select
// the server-backed store path during init. Without this, init can
// persist shared-server intent in YAML while still creating an embedded
// store and recording dolt_mode=embedded in metadata.json (GH#2946).
if sharedServer || strings.EqualFold(os.Getenv("BEADS_DOLT_SHARED_SERVER"), "true") || os.Getenv("BEADS_DOLT_SHARED_SERVER") == "1" {
initServerMode = true
}
View on GitHub (pinned to 71377f2769)
Solutions
- Run `bd init --team` interactively without --non-interactive
- For automation, use explicit non-wizard flags instead of the team wizard
- Clear non-interactive env vars (or run in a real TTY) so terminal detection does not force non-interactive mode
Example fix
// before bd init --team --non-interactive // after bd init --team # run interactively
Defensive patterns
Strategy: validation
Validate before calling
if team && nonInteractive {
return fmt.Errorf("--team requires an interactive terminal; drop --non-interactive")
} Try / catch
if err := bdInit("--team", "--non-interactive"); err != nil {
if strings.Contains(err.Error(), "requires interactive prompts") {
// rerun interactively or use non-wizard flags
}
} Prevention
- Never pass --team together with --non-interactive
- Run team wizard flows only in interactive TTY sessions
- Verify terminal detection by unsetting non-interactive env vars before init
When it happens
Trigger: `bd init --team --non-interactive` (or --non-interactive implied by env var / terminal detection per isNonInteractiveInit) together with --team.
Common situations: Scripted team/workspace setup in CI; running bd init under automation wrappers that strip TTYs; combining --team with a non-interactive env var set for other beads commands.
Related errors
- --contributor requires interactive prompts and cannot be use
- --server and --proxied-server are mutually exclusive
- --proxied-server cannot be combined with --shared-server, --
- --team-server requires --proxied-server
- --proxied-server-config-path requires --proxied-server
AI-assisted analysis of gastownhall/beads@71377f2769 (2026-08-30).
Data as JSON: /api/errors/123736a728aa2a8c.
Report an issue: GitHub.