github/spec-kit · warning · BundlerError
Specify a bundle id or use --all.
Error message
Specify a bundle id or use --all.
What it means
'specify bundle update' requires knowing what to update: it raised BundlerError because neither a positional bundle id nor the --all flag was supplied. It is a pure argument-usage guard, raised after require_project_root() and load_records() succeeded, before any target list is built.
Source
Thrown at src/specify_cli/commands/bundle/__init__.py:454
console.print(
f"[green]✓[/green] Installed '{_escape_markup(str(result.bundle_id))}' "
f"({len(result.installed)} added, {len(result.skipped)} already present)."
)
@bundle_app.command("update")
def bundle_update(
bundle_id: str = typer.Argument(None, help="Bundle id, or omit with --all"),
all_bundles: bool = typer.Option(False, "--all", help="Update every installed bundle"),
integration: str = typer.Option(None, "--integration", help="Override integration"),
offline: bool = typer.Option(False, "--offline", help="Do not access the network"),
) -> None:
"""Re-resolve and refresh a bundle's components via each primitive's update path."""
try:
project_root = require_project_root()
records = load_records(project_root)
if not all_bundles and not bundle_id:
raise BundlerError("Specify a bundle id or use --all.")
targets = (
[r.bundle_id for r in records]
if all_bundles
else [bundle_id]
)
if not targets:
console.print("[yellow]No installed bundles to update.[/yellow]")
return
stack = _build_stack(project_root, offline=offline)
from ...bundler.services.adapters import DefaultPrimitiveInstaller
from ...bundler.services.installer import install_bundle
from ...bundler.services.resolver import resolve_install_plan
installer = DefaultPrimitiveInstaller(allow_network=not offline)
for target in targets:
if not any(r.bundle_id == target for r in records):
raise BundlerError(f"Bundle '{target}' is not installed.")View on GitHub (pinned to bf88c9f9a8)
Solutions
- Pass a bundle id: specify bundle update <bundle-id>.
- Or update everything installed: specify bundle update --all.
Example fix
# before specify bundle update # after specify bundle update my-bundle # or specify bundle update --all
Defensive patterns
Strategy: validation
Validate before calling
if not bundle_id and not all_bundles:
raise SystemExit("Usage: specify bundle update <id> | --all") Prevention
- Always pass either a bundle id or --all to bundle update.
- In scripts, assert the argument list is non-empty before invoking the CLI.
When it happens
Trigger: Running 'specify bundle update' with no arguments in an initialized project that has bundle install records.
Common situations: Assuming update defaults to 'all installed bundles'; scripting the command without arguments.
Related errors
- A catalog url is required.
- Failed to initialize a Spec Kit project (integration '{integ
- Bundle '{target}' is not installed.
- Error: {arg} requires a value
- Error: Feature description cannot be empty or contain only w
AI-assisted analysis of github/spec-kit@bf88c9f9a8 (2026-08-14).
Data as JSON: /api/errors/75a5be4569ced0dc.
Report an issue: GitHub.