diff --git a/mac/VibeTunnel/vt b/mac/VibeTunnel/vt index 4683dd3e..74ff2db0 100755 --- a/mac/VibeTunnel/vt +++ b/mac/VibeTunnel/vt @@ -1,6 +1,13 @@ #!/bin/bash # VibeTunnel CLI wrapper +# Check if we're already inside a VibeTunnel session +if [ -n "$VIBETUNNEL_SESSION_ID" ]; then + echo "Error: Already inside a VibeTunnel session (ID: $VIBETUNNEL_SESSION_ID). Recursive VibeTunnel sessions are not supported." >&2 + echo "If you need to run commands, use them directly without the 'vt' prefix." >&2 + exit 1 +fi + # Try standard locations first, but verify the binary exists APP_PATH="" for TRY_PATH in "/Applications/VibeTunnel.app" "$HOME/Applications/VibeTunnel.app"; do diff --git a/web/src/server/pty/pty-manager.ts b/web/src/server/pty/pty-manager.ts index 36d1e2c6..a24ae9e1 100644 --- a/web/src/server/pty/pty-manager.ts +++ b/web/src/server/pty/pty-manager.ts @@ -237,6 +237,8 @@ export class PtyManager extends EventEmitter { const ptyEnv = { ...process.env, TERM: term, + // Set session ID to prevent recursive vt calls and for debugging + VIBETUNNEL_SESSION_ID: sessionId, }; // Debug log the spawn parameters