You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Title: First headless run of a newly-created profile hangs indefinitely (existing profiles and isolated DSH_HOMEs boot fine)
Summary
On dsh 0.1.7-rc.2, the first headless invocation of a newly-created profile under a real DSH_HOME (~/.dsh) hangs forever — no output, no error, no network activity, no child
processes. Previously-initialized profiles work normally, and a fresh isolated DSH_HOME
boots cleanly on first run, so the defect is specific to the "new profile inside an existing
home" path.
Reproduction
With a real ~/.dsh that already contains at least one working profile (e.g. headless):
Create a new profile (we did it via dsh plugin --profile sweep-x add <any-npm-plugin>,
which prints dsh: initialized profile sweep-x at ~/.dsh/profiles/sweep-x; an empty
profile created after a version-gate rejection reproduces it too).
Run dsh --profile sweep-x "<any prompt>" (headless).
Observe: the process hangs indefinitely (observed 30+ minutes before manual kill).
Reproduced with three independent new profiles (sweep-modlens, sweep-routing, sweep-control — the last with no third-party plugins at all), plus sweep-min
(empty profile). Existing profiles in the same home keep working throughout.
What was ruled out
Network wait: lsof shows zero open connections from the hung process.
Child processes: pgrep -P empty — nothing forked that could be waited on.
stdin interaction: redirecting stdin from /dev/null changes nothing.
Sample stack: sample <pid> shows a pure event-loop idle wait — no meaningful frames.
(Symptoms consistent with a promise that never settles during first-run initialization —
e.g. an import/migration step that awaits something already satisfied in pre-existing
profiles and skipped entirely in fresh isolated homes.)
Environment
dsh: 0.1.7-rc.2 (built from source at 477b4f4, run via node --import tsx/esm apps/cli/src/bin.ts)
OS: macOS (arm64) | Node: v25.4.0 | pnpm: 11.21.0
Registry: npmmirror (direct, no proxy) — but network was confirmed idle during the hang.
Expected vs actual
Expected: first run of a new profile initializes and proceeds like any subsequent run
(isolated-home first runs do exactly this).
Actual: indefinite hang with no diagnostic output; only SIGKILL recovers.
Notes
A version-compat gate elsewhere in the same build works correctly
(dsh plugin add @deepseek-ai/dsh-headless is properly rejected against 0.1.7-rc.2
with an allow-version hint), so profile machinery is not wholesale broken.
Happy to attach fresh sample/lsof captures or run a debug/instrumented build —
the repro is 100% deterministic on this machine.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Issue Draft (English) — 提交目标:deepseek-ai/deepseek-harness
Title: First headless run of a newly-created profile hangs indefinitely (existing profiles and isolated DSH_HOMEs boot fine)
Summary
On dsh 0.1.7-rc.2, the first headless invocation of a newly-created profile under a real
DSH_HOME(~/.dsh) hangs forever — no output, no error, no network activity, no childprocesses. Previously-initialized profiles work normally, and a fresh isolated
DSH_HOMEboots cleanly on first run, so the defect is specific to the "new profile inside an existing
home" path.
Reproduction
~/.dshthat already contains at least one working profile (e.g.headless):dsh plugin --profile sweep-x add <any-npm-plugin>,which prints
dsh: initialized profile sweep-x at ~/.dsh/profiles/sweep-x; an emptyprofile created after a version-gate rejection reproduces it too).
dsh --profile sweep-x "<any prompt>"(headless).Reproduced with three independent new profiles (
sweep-modlens,sweep-routing,sweep-control— the last with no third-party plugins at all), plussweep-min(empty profile). Existing profiles in the same home keep working throughout.
What was ruled out
lsofshows zero open connections from the hung process.pgrep -Pempty — nothing forked that could be waited on./dev/nullchanges nothing.sample <pid>shows a pure event-loop idle wait — no meaningful frames.(Symptoms consistent with a promise that never settles during first-run initialization —
e.g. an import/migration step that awaits something already satisfied in pre-existing
profiles and skipped entirely in fresh isolated homes.)
Environment
node --import tsx/esm apps/cli/src/bin.ts)Expected vs actual
Expected: first run of a new profile initializes and proceeds like any subsequent run
(isolated-home first runs do exactly this).
Actual: indefinite hang with no diagnostic output; only SIGKILL recovers.
Notes
(
dsh plugin add @deepseek-ai/dsh-headlessis properly rejected against 0.1.7-rc.2with an allow-version hint), so profile machinery is not wholesale broken.
sample/lsofcaptures or run a debug/instrumented build —the repro is 100% deterministic on this machine.
All reactions