Skip to content

fix: virgin install failures — tty errors, missing ~/.claude, silent no-op#6

Open
r2st wants to merge 6 commits into
Exponential-OS:mainfrom
r2st:fix-virgin-install
Open

fix: virgin install failures — tty errors, missing ~/.claude, silent no-op#6
r2st wants to merge 6 commits into
Exponential-OS:mainfrom
r2st:fix-virgin-install

Conversation

@r2st
Copy link
Copy Markdown
Collaborator

@r2st r2st commented May 13, 2026

Summary

  • Fixes install.sh silently doing nothing when ~/.claude dir doesn't exist (virgin Claude Code installs)
  • Eliminates /dev/tty: Device not configured error spam during curl | bash installs
  • Shows clear "Nothing was installed" guidance instead of misleading "🎉 Done!" when no environments are detected
  • Creates settings.json on fresh installs so fish gate hook wiring succeeds
  • Adds marketplace fallback repo for plugin install resilience
  • Adds README troubleshooting sections for common install failures
  • Aligns all stale version strings to 4.9.0

Bugs fixed

# Bug Impact
1 ~/.claude dir check skips Claude Code on first-ever install Users with claude CLI but no prior usage get zero install
2 /dev/tty errors on non-interactive curl pipe Scary error output on the most common install path
3 INSTALLED variable uninitialized Undefined behavior at end-of-script check
4 "Done!" shown when nothing installed Users think install succeeded when it didn't
5 settings.json not created for hook wiring Fish gate silently skipped on fresh installs
6 No marketplace fallback Single point of failure if agent-marketplace is unreachable

Test plan

  • bash test-plugin.sh — 54/54 PASS
  • Virgin install (no ~/.claude, claude CLI present) — plugin installs, skills download, fish gate wires
  • Virgin install (no claude CLI, no IDE dirs) — shows "Nothing was installed" + manual instructions
  • Non-interactive curl pipe — zero /dev/tty errors, auto-selects defaults silently
  • Install summary shows "Installed for: claude_code" on success

🤖 Generated with Claude Code

sumandwt and others added 3 commits May 13, 2026 16:31
…no-op

- Fix install skipping Claude Code when ~/.claude dir doesn't exist yet
- Fix /dev/tty error spam during curl pipe (non-interactive) installs
- Initialize INSTALLED variable to prevent undefined behavior
- Show clear "Nothing was installed" message with manual instructions
  instead of misleading "Done!" when no environments detected
- Create settings.json for fish gate hook wiring on fresh installs
- Add marketplace fallback (prompt-engineering-in-action repo)
- Add README troubleshooting sections for common install failures
- Align all version strings to 4.9.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@r2st r2st force-pushed the fix-virgin-install branch from 1d72fe1 to 9a55d02 Compare May 28, 2026 03:45
r2st and others added 3 commits May 27, 2026 21:11
The v4.20.0 release bumped marketplace.json/plugin.json and the plugin
CHANGELOG, but left SKILL.md, SKILL-lite.md, install.sh and install.ps1
at older version strings and never added a root CHANGELOG [4.20.0] entry.
test-plugin.sh checks all of these, so CI's validate job failed on this
branch. Align all version markers to 4.20.0 and add the root CHANGELOG entry.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: ru2st <sumaninster11@gmail.com>
The frontmatter `version:` field is what install.sh --bg-check reads first
to detect available updates; it was left at 4.19.1. Align it with the body
**Version:** marker so the update notifier reports 4.20.0.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: ru2st <sumaninster11@gmail.com>
The "Fish gate Python syntax" and "Fish gate tier coverage" steps invoke
plugins/co-dialectic/fish/HOW.py and fish/hooks/claude-code.py, both removed
in the v4.11.0 Python→TypeScript migration. The steps have been failing ever
since (masked until the earlier version-consistency failure was fixed). The
replacement TS files (handler.ts, claude-code.ts) are already structure-checked
by test-plugin.sh; the tier-coverage step additionally needs ANTHROPIC_API_KEY,
which is not exposed to fork PRs. Remove both dead steps.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Signed-off-by: ru2st <sumaninster11@gmail.com>
@r2st r2st force-pushed the fix-virgin-install branch from 9a55d02 to b7065f2 Compare May 28, 2026 04:12
@sonarqubecloud
Copy link
Copy Markdown

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.

2 participants