Skip to content

fix: resolve VM $HOME instead of passing literal ~ to limactl#14

Merged
TimBeyer merged 3 commits intomainfrom
fix/shell-tilde-expansion
Mar 13, 2026
Merged

fix: resolve VM $HOME instead of passing literal ~ to limactl#14
TimBeyer merged 3 commits intomainfrom
fix/shell-tilde-expansion

Conversation

@TimBeyer
Copy link
Owner

Summary

  • clawctl-dev shell failed with cd: ~: No such file or directory because execa bypasses the shell, so ~ passed to limactl --workdir was never expanded
  • The shell() method now queries $HOME from the VM first (via the existing exec helper), then uses the resolved path as --workdir
  • Falls back to /tmp if the home directory query returns empty

Test plan

  • Run clawctl-dev shell <instance-name> — should drop into the VM's actual home directory without error
  • bun test — all 230 tests pass, 0 failures

🤖 Generated with Claude Code

TimBeyer and others added 3 commits March 13, 2026 08:18
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
execa bypasses the shell so ~ was never expanded, causing
`cd: ~: No such file or directory`. Query $HOME from the VM first
and use the resolved path.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@TimBeyer TimBeyer merged commit a78f2d7 into main Mar 13, 2026
4 checks passed
@TimBeyer TimBeyer deleted the fix/shell-tilde-expansion branch March 13, 2026 07:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant