-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Init with Codex crashes in latest release #593
Description
Key clue at the end of the stack print:
MarkupError: closing tag '[/bright_black]' at position 80 doesn't match any open tag`
Ran: uvx --from git+https://github.com/github/spec-kit.git specify init --here
Selected Codex
`Selected AI assistant: codex
Selected script type: sh
Initialize Specify Project
├── ● Check required tools (ok)
├── ● Select AI assistant (codex)
├── ● Select script type (sh)
├── ● Fetch latest release (release v0.0.54 (37,885 bytes))
├── ● Download template (spec-kit-template-codex-sh-v0.0.54.zip)
├── ● Extract template
├── ● Archive contents (24 entries)
├── ● Extraction summary (temp 2 items)
├── ● Ensure scripts executable (5 updated)
├── ● Cleanup
├── ● Initialize git repository (existing repo detected)
└── ● Finalize (project ready)
Project ready.
╭──────────────────────────────────────────────────── Agent Folder Security ─────────────────────────────────────────────────────╮
│ │
│ Some agents may store credentials, auth tokens, or other identifying and private artifacts in the agent folder within your │
│ project. │
│ Consider adding .codex/ (or parts of it) to .gitignore to prevent accidental credential leakage. │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭────────────────────────────────────────────────────────── Next Steps ──────────────────────────────────────────────────────────╮
│ │
│ 1. You're already in the project directory! │
│ 2. Set CODEX_HOME environment variable before running Codex: export CODEX_HOME=/home/magnus/dev/cosmos-studio/.codex │
│ 3. Start using slash commands with your AI agent: │
│ 2.1 /constitution - Establish project principles │
│ 2.2 /specify - Create baseline specification │
│ 2.3 /plan - Create implementation plan │
│ 2.4 /tasks - Generate actionable tasks │
│ 2.5 /implement - Execute implementation │
│ │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭────────────────────────────────────────────── Traceback (most recent call last) ───────────────────────────────────────────────╮
│ /home/magnus/.cache/uv/archive-v0/BZbJgag5w_jWrVRjd4AZP/lib/python3.13/site-packages/specify_cli/init.py:1089 in init │
│ │
│ 1086 │ ] │
│ 1087 │ enhancements_panel = Panel("\n".join(enhancement_lines), title="Enhancement Commands │
│ 1088 │ console.print() │
│ ❱ 1089 │ console.print(enhancements_panel) │
│ 1090 │ │
│ 1091 │ if selected_ai == "codex": │
│ 1092 │ │ warning_text = """[bold yellow]Important Note:[/bold yellow] │
│ │
│ ╭──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────╮ │
│ │ agent_folder = '.codex/' │ │
│ │ agent_folder_map = { │ │
│ │ │ 'claude': '.claude/', │ │
│ │ │ 'gemini': '.gemini/', │ │
│ │ │ 'cursor': '.cursor/', │ │
│ │ │ 'qwen': '.qwen/', │ │
│ │ │ 'opencode': '.opencode/', │ │
│ │ │ 'codex': '.codex/', │ │
│ │ │ 'windsurf': '.windsurf/', │ │
│ │ │ 'kilocode': '.kilocode/', │ │
│ │ │ 'auggie': '.augment/', │ │
│ │ │ 'copilot': '.github/', │ │
│ │ │ ... +1 │ │
│ │ } │ │
│ │ agent_tool_missing = False │ │
│ │ ai_assistant = None │ │
│ │ cmd = 'export CODEX_HOME=/home/magnus/dev/cosmos-studio/.codex' │ │
│ │ codex_path = PosixPath('/home/magnus/dev/cosmos-studio/.codex') │ │
│ │ current_dir = PosixPath('/home/magnus/dev/cosmos-studio') │ │
│ │ debug = False │ │
│ │ default_script = 'sh' │ │
│ │ enhancement_lines = [ │ │
│ │ │ 'Optional commands that you can use for your specs (improve quality & confidence)'+15, │ │
│ │ │ '', │ │
│ │ │ '○ [cyan]/clarify[/] bright_black[/bright_black] - Ask structured que'+85, │ │
│ │ │ '○ [cyan]/analyze[/] bright_black[/bright_black] - Cross-artifact con'+79 │ │
│ │ ] │ │
│ │ enhancements_panel = <rich.panel.Panel object at 0x7f318be35e50> │ │
│ │ existing_items = [ │ │
│ │ │ PosixPath('/home/magnus/dev/cosmos-studio/.git'), │ │
│ │ │ PosixPath('/home/magnus/dev/cosmos-studio/.gitignore'), │ │
│ │ │ PosixPath('/home/magnus/dev/cosmos-studio/README.md'), │ │
│ │ │ PosixPath('/home/magnus/dev/cosmos-studio/docs'), │ │
│ │ │ PosixPath('/home/magnus/dev/cosmos-studio/.specify'), │ │
│ │ │ PosixPath('/home/magnus/dev/cosmos-studio/.codex') │ │
│ │ ] │ │
│ │ force = False │ │
│ │ github_token = None │ │
│ │ here = True │ │
│ │ ignore_agent_tools = False │ │
│ │ install_url = '' │ │
│ │ key = 'final' │ │
│ │ label = 'Finalize' │ │
│ │ live = <rich.live.Live object at 0x7f318bc8a490> │ │
│ │ local_client = <httpx.Client object at 0x7f318bc891d0> │ │
│ │ local_ssl_context = <truststore._api.SSLContext object at 0x7f318d798a50> │ │
│ │ no_git = False │ │
│ │ project_name = 'cosmos-studio' │ │
│ │ project_path = PosixPath('/home/magnus/dev/cosmos-studio') │ │
│ │ quoted_path = '/home/magnus/dev/cosmos-studio/.codex' │ │
│ │ response = True │ │
│ │ script_type = None │ │
│ │ security_notice = <rich.panel.Panel object at 0x7f318be76750> │ │
│ │ selected_ai = 'codex' │ │
│ │ selected_script = 'sh' │ │
│ │ setup_lines = [ │ │
│ │ │ '[cyan]Specify Project Setup[/cyan]', │ │
│ │ │ '', │ │
│ │ │ 'Project [green]cosmos-studio[/green]', │ │
│ │ │ 'Working Path [dim]/home/magnus/dev/cosmos-studio[/dim]' │ │
│ │ ] │ │
│ │ should_init_git = True │ │
│ │ skip_tls = False │ │
│ │ step_num = 3 │ │
│ │ steps_lines = [ │ │
│ │ │ "1. You're already in the project directory!", │ │
│ │ │ '2. Set [cyan]CODEX_HOME[/cyan] environment variable before running Codex: [cyan]'+62, │ │
│ │ │ '3. Start using slash commands with your AI agent:', │ │
│ │ │ ' 2.1 [cyan]/constitution[/] - Establish project principles', │ │
│ │ │ ' 2.2 [cyan]/specify[/] - Create baseline specification', │ │
│ │ │ ' 2.3 [cyan]/plan[/] - Create implementation plan', │ │
│ │ │ ' 2.4 [cyan]/tasks[/] - Generate actionable tasks', │ │
│ │ │ ' 2.5 [cyan]/implement[/] - Execute implementation' │ │
│ │ ] │ │
│ │ steps_panel = <rich.panel.Panel object at 0x7f318be35f40> │ │
│ │ tracker = <specify_cli.StepTracker object at 0x7f318bc8c980> │ │
│ │ verify = True │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/magnus/.cache/uv/archive-v0/BZbJgag5w_jWrVRjd4AZP/lib/python3.13/site-packages/rich/console.py:1724 in print │
│ │
│ 1721 │ │ │ render = self.render │
│ 1722 │ │ │ if style is None: │
│ 1723 │ │ │ │ for renderable in renderables: │
│ ❱ 1724 │ │ │ │ │ extend(render(renderable, render_options)) │
│ 1725 │ │ │ else: │
│ 1726 │ │ │ │ for renderable in renderables: │
│ 1727 │ │ │ │ │ extend( │
│ │
│ ╭────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ crop = True │ │
│ │ emoji = None │ │
│ │ end = '\n' │ │
│ │ extend = <built-in method extend of list object at 0x7f318bcb5f40> │ │
│ │ height = None │ │
│ │ highlight = None │ │
│ │ justify = None │ │
│ │ markup = None │ │
│ │ new_line_start = False │ │
│ │ new_segments = [] │ │
│ │ no_wrap = None │ │
│ │ objects = (<rich.panel.Panel object at 0x7f318be35e50>,) │ │
│ │ overflow = None │ │
│ │ render = <bound method Console.render of > │ │
│ │ render_hooks = [] │ │
│ │ render_options = ConsoleOptions( │ │
│ │ │ size=ConsoleDimensions(width=130, height=66), │ │
│ │ │ legacy_windows=False, │ │
│ │ │ min_width=1, │ │
│ │ │ max_width=130, │ │
│ │ │ is_terminal=True, │ │
│ │ │ encoding='utf-8', │ │
│ │ │ max_height=66, │ │
│ │ │ justify=None, │ │
│ │ │ overflow=None, │ │
│ │ │ no_wrap=None, │ │
│ │ │ highlight=None, │ │
│ │ │ markup=None, │ │
│ │ │ height=None │ │
│ │ ) │ │
│ │ renderable = <rich.panel.Panel object at 0x7f318be35e50> │ │
│ │ renderables = [<rich.panel.Panel object at 0x7f318be35e50>] │ │
│ │ self = │ │
│ │ sep = ' ' │ │
│ │ soft_wrap = False │ │
│ │ style = None │ │
│ │ width = None │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────`