What version of Kimi Code CLI is running?
1.11.0
Which open platform/subscription were you using?
N/A
Which model were you using?
N/A
What platform is your computer?
Linux 6.1.0-41-cloud-amd64 x86_64 unknown
What issue are you seeing?
This issue happens before we hit any model code.
We have a prompt that includes 'known bad' formatting examples to ask Kimi to exclude them.
Here is a snippet from the failed prompt:
`
- WRONG:
A[/login] or B[/ home]
- CORRECT:
A["/login"] or B["/home"]
`
This causes Kimi's Rich Console output to fail during processing ultimately resulting in:
rich.errors.MarkupError: closing tag '[/login]' at position 28 doesn't match any open tag
Full stack trace:
`
2026-02-27 09:16:56.820 | ERROR | kimi_cli.cli:kimi:590 - Fatal error when running CLI
Traceback (most recent call last):
File "/home/kimi/.local/bin/kimi", line 10, in
sys.exit(cli())
│ │ └ <typer.main.Typer object at 0x7f614676b950>
│ └
└ <module 'sys' (built-in)>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/main.py", line 319, in call
return get_command(self)(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <typer.main.Typer object at 0x7f614676b950>
└ <function get_command at 0x7f614684b2e0>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 1485, in call
return self.main(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function TyperGroup.main at 0x7f61468432e0>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/core.py", line 814, in main
return _main(
└ <function main at 0x7f6146841e40>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/core.py", line 190, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7f6146727a10>
│ └ <function Group.invoke at 0x7f61467d3600>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 1851, in invoke
rv = super().invoke(ctx)
└ <click.core.Context object at 0x7f6146727a10>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
│ │ │ │ │ └ {'version': None, 'verbose': True, 'yolo': True, 'continue': True, 'print_mode': True, 'input_format': 'text', 'output_forma...
│ │ │ │ └ <click.core.Context object at 0x7f6146727a10>
│ │ │ └ <function kimi at 0x7f614662e3e0>
│ │ └
│ └ <function Context.invoke at 0x7f61467d1620>
└ <click.core.Context object at 0x7f6146727a10>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
│ │ └ {'version': None, 'verbose': True, 'yolo': True, 'continue': True, 'print_mode': True, 'input_format': 'text', 'output_forma...
│ └ ()
└ <function kimi at 0x7f614662e3e0>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/main.py", line 706, in wrapper
return callback(**use_params)
│ └ {'ctx': <click.core.Context object at 0x7f6146727a10>, 'version': None, 'verbose': True, 'debug': False, 'local_work_dir': No...
└ <function kimi at 0x7f61465dd800>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/kimi_cli/cli/init.py", line 579, in kimi
switch_to_web = asyncio.run(_reload_loop(session_id))
│ │ │ └ None
│ │ └ <function kimi.._reload_loop at 0x7f61443ebc40>
│ └ <function run at 0x7f6146b16660>
└ <module 'asyncio' from '/home/kimi/.local/share/uv/python/cpython-3.13.12-linux-x86_64-gnu/lib/python3.13/asyncio/init.py'>
File "/home/kimi/.local/share/uv/python/cpython-3.13.12-linux-x86_64-gnu/lib/python3.13/asyncio/runners.py", line 195, in run
return runner.run(main)
│ │ └ <coroutine object kimi.._reload_loop at 0x7f614436df10>
│ └ <function Runner.run at 0x7f61469bcc20>
└ <asyncio.runners.Runner object at 0x7f61443f42f0>
File "/home/kimi/.local/share/uv/python/cpython-3.13.12-linux-x86_64-gnu/lib/python3.13/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
│ │ └ <Task finished name='Task-1' coro=<kimi.._reload_loop() done, defined at /home/kimi/.local/share/uv/tools/kimi-cli/li...
│ └ None
└ <asyncio.runners.Runner object at 0x7f61443f42f0>
File "/home/kimi/.local/share/uv/python/cpython-3.13.12-linux-x86_64-gnu/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
return future.result()
│ └ <method 'result' of '_asyncio.Task' objects>
└ <Task finished name='Task-1' coro=<kimi.._reload_loop() done, defined at /home/kimi/.local/share/uv/tools/kimi-cli/li...
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/kimi_cli/cli/init.py", line 564, in _reload_loop
last_session, succeeded = await _run(session_id)
│ └ None
└ <function kimi.._run at 0x7f61443eb9c0>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/kimi_cli/cli/init.py", line 505, in run
succeeded = await instance.run_print(
│ └ <function KimiCLI.run_print at 0x7f61443ea8e0>
└ <kimi_cli.app.KimiCLI object at 0x7f6141444980>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/kimi_cli/app.py", line 348, in run_print
return await print.run(command)
│ │ └ None
│ └ <function Print.run at 0x7f6141432660>
└ <kimi_cli.ui.print.Print object at 0x7f6141444d70>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/kimi_cli/ui/print/init.py", line 112, in run
print(f"Unknown error: {e}")
└ <function print at 0x7f6144c6bba0>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/rich/init.py", line 74, in print
return write_console.print(*objects, sep=sep, end=end)
│ │ │ │ └ '\n'
│ │ │ └ ' '
│ │ └ ("Unknown error: closing tag '[/login]' at position 1731 doesn't match any open tag",)
│ └ <function Console.print at 0x7f61448e6fc0>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/rich/console.py", line 1698, in print
renderables = self._collect_renderables(
│ └ <function Console._collect_renderables at 0x7f61448e6d40>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/rich/console.py", line 1558, in _collect_renderables
self.render_str(
│ └ <function Console.render_str at 0x7f61448e6c00>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/rich/console.py", line 1448, in render_str
rich_text = render_markup(
└ <function render at 0x7f6144887b00>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/rich/markup.py", line 167, in render
raise MarkupError(
└ <class 'rich.errors.MarkupError'>
rich.errors.MarkupError: closing tag '[/login]' at position 28 doesn't match any open tag
`
What steps can reproduce the bug?
Have a prompt with invalid Markup that fails Rich text
Start Kimi from stdin using this prompt
What is the expected behavior?
Kimi processes prompt successfully
Additional information
Command line used for call:
kimi -c /home/kimi/.local/bin/kimi --verbose --yolo --continue --print --input-format text --output-format text --thinking
What version of Kimi Code CLI is running?
1.11.0
Which open platform/subscription were you using?
N/A
Which model were you using?
N/A
What platform is your computer?
Linux 6.1.0-41-cloud-amd64 x86_64 unknown
What issue are you seeing?
This issue happens before we hit any model code.
We have a prompt that includes 'known bad' formatting examples to ask Kimi to exclude them.
Here is a snippet from the failed prompt:
`
A[/login]orB[/ home]A["/login"]orB["/home"]`
This causes Kimi's Rich Console output to fail during processing ultimately resulting in:
rich.errors.MarkupError: closing tag '[/login]' at position 28 doesn't match any open tagFull stack trace:
`
2026-02-27 09:16:56.820 | ERROR | kimi_cli.cli:kimi:590 - Fatal error when running CLI
Traceback (most recent call last):
File "/home/kimi/.local/bin/kimi", line 10, in
sys.exit(cli())
│ │ └ <typer.main.Typer object at 0x7f614676b950>
│ └
└ <module 'sys' (built-in)>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/main.py", line 319, in call
return get_command(self)(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <typer.main.Typer object at 0x7f614676b950>
└ <function get_command at 0x7f614684b2e0>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 1485, in call
return self.main(*args, **kwargs)
│ │ │ └ {}
│ │ └ ()
│ └ <function TyperGroup.main at 0x7f61468432e0>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/core.py", line 814, in main
return _main(
└ <function main at 0x7f6146841e40>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/core.py", line 190, in main
rv = self.invoke(ctx)
│ │ └ <click.core.Context object at 0x7f6146727a10>
│ └ <function Group.invoke at 0x7f61467d3600>
└
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 1851, in invoke
rv = super().invoke(ctx)
└ <click.core.Context object at 0x7f6146727a10>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 1269, in invoke
return ctx.invoke(self.callback, **ctx.params)
│ │ │ │ │ └ {'version': None, 'verbose': True, 'yolo': True, 'continue': True, 'print_mode': True, 'input_format': 'text', 'output_forma...
│ │ │ │ └ <click.core.Context object at 0x7f6146727a10>
│ │ │ └ <function kimi at 0x7f614662e3e0>
│ │ └
│ └ <function Context.invoke at 0x7f61467d1620>
└ <click.core.Context object at 0x7f6146727a10>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/click/core.py", line 824, in invoke
return callback(*args, **kwargs)
│ │ └ {'version': None, 'verbose': True, 'yolo': True, 'continue': True, 'print_mode': True, 'input_format': 'text', 'output_forma...
│ └ ()
└ <function kimi at 0x7f614662e3e0>
File "/home/kimi/.local/share/uv/tools/kimi-cli/lib/python3.13/site-packages/typer/main.py", line 706, in wrapper
return callback(**use_params)
│ └ {'ctx': <click.core.Context object at 0x7f6146727a10>, 'version': None, 'verbose': True, 'debug': False, 'local_work_dir': No...
└ <function kimi at 0x7f61465dd800>
rich.errors.MarkupError: closing tag '[/login]' at position 28 doesn't match any open tag
`
What steps can reproduce the bug?
Have a prompt with invalid Markup that fails Rich text
Start Kimi from stdin using this prompt
What is the expected behavior?
Kimi processes prompt successfully
Additional information
Command line used for call:
kimi -c /home/kimi/.local/bin/kimi --verbose --yolo --continue --print --input-format text --output-format text --thinking