Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[Bug]: mcode init fails with "Session Project could not be resolved" for relative directories (default ".")

Aberta
#504 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
35/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
node.js, typescript
Domínio
cli

Direção de pesquisa

Read packages/tui/src/cli/program.ts and the workspace handling in packages/tui/src/tui/launcher.ts; the issue traces how the relative directory reaches session creation. Run vitest run --config vitest.oss.config.mjs packages/tui/test/unit/tui-app.test.ts to check the default and explicit-relative-directory regression cases. Done means both forms pass an absolute workspace directory and mcode init succeeds in a fresh repository; the issue already includes a verified patch and tests.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

tui
Product or interface

CLI - interactive TUI

Version
  • @minimax-ai/code 0.6.12 (npm)
  • Reproduced from source at commit 9a935605956c4500e9cb415f29258e2887e97817 (repository package version 0.6.5)
  • Node.js 24.21.0; Bun 1.4.2 used for install/build
Platform

Linux

OS version and architecture

Linux 7.2.9 x64 (NixOS), foot 1.28.0 / Wayland

Issue area

File / workspace / path / encoding

Steps to reproduce
  1. cd into any existing git repository.
  2. Run mcode init with no argument, or with any relative directory: mcode init ., mcode init sub/dir.
  3. The TUI opens, submits /init, and the first turn fails immediately.

Minimal synthetic repro:

mkdir /tmp/repro && cd /tmp/repro
git init -q && echo x > README.md && git add -A && git commit -qm init
mcode init

Passing an absolute directory avoids the failure: mcode init "$PWD".

Expected and actual behavior

Expected: the Session workspace resolves to the target repository and the Runtime init skill runs to generate AGENTS.md.

Actual: Session creation fails with Session Project could not be resolved. /retry repeats the same failure because the same relative workspace value is reused, so the command never proceeds.

Redacted error summary

Released 0.6.12 bundle:

$ mcode init
Working | . | MCode
×  Error  The response failed.
   Reason: Session Project could not be resolved
   Run /retry to resend your last message. Your prompt is preserved.

Same failure on a source build at 9a93560, captured in a pty (workspace title is the literal .):

ARGS=['init'] ERROR_SEEN=True TITLES=['. ', '. ']
×  Error  The response failed.
   Reason: Session Project could not be resolved

After resolving the argument to an absolute path (patch below), the same harness:

/tmp/mcode-init-repro │ ⎇ master │ Auto │ … │ Context 98% left
└ Completed in 12s

The status bar shows the absolute workspace and the init skill completes normally. No /retry needed.

Root cause

Traced on main at 9a93560:

  1. packages/tui/src/cli/program.ts:96 — .argument('[directory]', 'project directory', '.') defaults to ".".
  2. packages/tui/src/cli/program.ts:97-98 — the action forwards the raw value: launchTui(withLane({ initialPrompt: '/init', workspaceDir: directory })).
  3. packages/tui/src/tui/launcher.ts:184 — const workspaceDir = options.workspaceDir ?? process.cwd(); falls back only for undefined, so "." survives.
  4. packages/local-runtime-v2/src/service/session-system/projects/repo/drizzle.ts:89-91 — canonicalProjectWorkspaceDir(workspaceDir) returns undefined, so no project row is created.
  5. packages/local-runtime-v2/src/service/session-system/shared/workspace.ts:9-17 → shared/path-normalization.ts:3-8 — normalizeAbsolutePath explicitly returns undefined when !flavor.isAbsolute(input).
  6. packages/local-runtime-v2/src/service/session-system/sessions/support/native-record-factory.ts:68-72 — Session creation throws workspace-required with the message above.

So the CLI accepts a relative path that the project layer can never canonicalize; exec --cwd and normal TUI launches are unaffected because they resolve to absolute paths earlier.

Proposed fix

Resolve the argument at the CLI boundary, where the invalid value originates:

diff --git a/packages/tui/src/cli/program.ts b/packages/tui/src/cli/program.ts
@@
+import { resolve } from 'node:path';
 import { Command, InvalidArgumentError } from 'commander';
@@
     .action((directory: string) =>
-      options.launchTui(withLane({ initialPrompt: '/init', workspaceDir: directory })),
+      options.launchTui(withLane({ initialPrompt: '/init', workspaceDir: resolve(directory) })),
     );

Two regression tests added in packages/tui/test/unit/tui-app.test.ts: the default init form and an explicit relative directory both assert an absolute workspaceDir.

Validation
  • vitest run --config vitest.oss.config.mjs packages/tui/test/unit/tui-app.test.ts — 366 passed (includes the 2 new tests).
  • tsc -p tsconfig.standalone.json --noEmit — exit 0, no output.
  • Manual, source build at 9a93560 + patch, fresh git repo: mcode init reaches the init skill and completes, error gone.
  • Not run: CI, macOS/Windows, and a rebuild of the published 0.6.12 bundle (the npm tarball does not map to this source revision).
Workaround

Use an absolute path: mcode init "$PWD" (or mcode init /path/to/repo). Alternatively launch mcode in the repository and type /init.

Additional context

I searched existing issues for the exact message and for mcode init / AGENTS.md init / relative-path reports and found no duplicate. Note the public repository currently reports package version 0.6.5 while npm ships 0.6.12; the failing code path is identical in both.

CONTRIBUTING.md limits code PRs to repository collaborators, so I am filing this as an issue with the verified patch. I am happy to submit a PR if you would like one, or to test a fix on another platform.

Before submitting
  • I have searched existing issues.
  • I have included my version and removed sensitive information.
Linguagem predominante
TypeScript
Estrelas
2k
Forks
259
Merge médio
7h 56min
PRs com merge (30d)
126

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de MiniMax-AI/minimax-code

Todas as issues de MiniMax-AI/minimax-code

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.