Repository navigation
v0.6.2
Interactive shell fixes
- Preserve complete terminal settings when switching between the editor and foreground commands. Linux uses the kernel
termios2interface to retain input baud settings that libc can normalize; Darwin retains nativetermiosfields. - Transfer terminal ownership before foreground children begin executing user code.
- Reject history files that are symlinks, multiply linked, owned by another user, or not regular files. Persistence uses owner-only permissions and nonblocking write locks. Damaged records are reported without overwriting existing bytes; resolve or move aside the damaged file before appending again.
- Require confirmation for assistant-proposed
sourcecommands and Git branch or remote operations that change state. The allowlist includes read-only branch and remote listings. - Restore Ctrl-X input decoding for captured reruns. Reruns require two presses of the current confirmation binding. The complete command and safety classification stay visible; other input or a terminal resize cancels approval. Commands containing control characters or confirmations that cannot fit are refused.
- Reap process-substitution children if waiting is interrupted.
- Wait for the owned process group after a timeout, not just its leader. If cleanup remains incomplete, report the failure and preserve it on retries rather than caching a timeout result.
- Keep the assistant sidecar reader active between requests, prevent an old connection's EOF cleanup from clearing a newer connection, and finish pending requests accepted while the exited child is being reaped.
Build and verification
Dependencies remain pinned, with targeted compatibility and correctness patches. Release gates run their test suites and private-history storage regressions directly, in addition to nshell's source-loaded suite.
The extracted Linux executable is tested with real PTYs for editing, Ctrl-C recovery, foreground interruption, Ctrl-Z/bg/fg job control, history restart, and complete terminal restoration. Packaging verifies the runtime library closure, dependency metadata, checksum, and reproducible archive bytes.
Installation and scope
The prebuilt bundle and Nix flake support x86_64-linux. Download both the archive and its SHA-256 file, verify the checksum, and keep the extracted directory intact. See Getting started.
macOS source-loaded and native-executable checks provide supplementary evidence, not a supported portable macOS release.
nshell remains a development preview implementing a documented shell-language subset, not a POSIX/fish-compatible script interpreter. Terminal compatibility is not exhaustively tested, and checksums are not provenance attestations. See Public readiness for release gates and known limits.