Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#504 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
node.js, typescript
Domaine
cli

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
TypeScript
Étoiles
2k
Forks
259
Merge moyen
9 h 22 min
PR mergées (30 j)
105

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de MiniMax-AI/minimax-code

Toutes les issues de MiniMax-AI/minimax-code

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.