TL;DR
Get business pricing on monitors, keyboards and dev gear
- Business-only prices and quantity discounts
- Tax-exempt purchasing
- Multiple users, one account, clear invoices
A report published by developer Disconnect3d explains that writing a quoted `~` in a PATH assignment may leave it literal rather than expand it to the home directory. The suggested fix is to use `$HOME`; users can check PATH for entries containing `~` and review their shell startup files.
A warning from the nono agent sandboxing tool led developer Disconnect3d to document a PATH configuration pitfall: in a quoted assignment such as export PATH="$PATH:~/.local/bin/", the tilde may remain literal instead of expanding to the user’s home directory. The result can make a shell search a relative ./~/.local/bin/ directory, not $HOME/.local/bin/, affecting which programs it finds.
In a post published October 2, 2026, Disconnect3d said nono warned that the sandbox could write to a PATH entry displayed as ~/.local/bin/. The warning prompted the author to investigate how the entry had been formed. Their report says the quoted tilde in a shell startup assignment is not expanded as intended, leaving the text as a path component rather than turning it into the home-directory path.
The recommended replacement is export PATH="$PATH:$HOME/.local/bin/". The report says an unquoted assignment, export PATH=$PATH:~/.local/bin, expands in Bash and Zsh because those shells perform tilde expansion after an equals sign and after a colon in assignments. Disconnect3d cautions that this form is more fragile: whitespace can disrupt the assignment.
The author also demonstrated the distinction by placing an executable under a literal ./~/.local/bin/ directory and setting PATH to ~/.local/bin/. The shell found and ran the executable from that relative directory. To check for suspicious entries, the post suggests echo "$PATH" | grep -- '~', or displaying each colon-separated entry on its own line before searching. A match is a prompt to inspect shell configuration, not by itself proof that a particular command has been run from an unintended location.
How a PATH Entry Can Mislead
PATH tells a shell where to look when a user runs a command without specifying its full location. If an entry intended to point into the home directory instead points to a literal tilde-named directory, commands may be found somewhere other than the user expects. That can cause confusion when a tool appears missing or when a different executable runs than the one installed under the home directory.
The post’s example also has a security relevance: nono flagged a location it considered writable by the sandbox. A mistaken path entry can complicate judgments about which files a process may access or execute. The report does not claim that the configuration bug alone creates a security breach; its practical advice is to verify PATH entries and use an explicit $HOME reference when that is the intended location.
As an affiliate, we earn on qualifying purchases.
What Shell Expansion Changes
The issue depends on how shell expansion works in the assignment, not on a universal rule that every tilde in PATH is wrong. Bash documentation, as quoted in Disconnect3d’s post, describes tilde expansion for unquoted tilde-prefixes and for certain positions in variable assignments, including after a colon. Quoting changes how the tilde is treated in the example at issue.
PATH entries are separated by colons, and a relative entry is interpreted from the current working directory. That is why the author’s test could locate a program inside ./~/.local/bin/: the shell treated the tilde as an ordinary directory name. The report discusses Bash and Zsh and recommends checking relevant startup files such as .bashrc, .zshrc, and .profile. It does not establish how every shell or configuration handles every variation.
““the tilde to home expansion happens only in unquoted inputs””
— Disconnect3d, in the October 2, 2026 blog post
Home directory path configuration software
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What a Tilde Match Reveals
The report does not say how many users have affected PATH entries or whether the issue has caused wider command-execution problems. A tilde appearing in PATH is a useful signal to inspect, but the correct interpretation depends on the exact assignment, quoting, shell, and directory layout. The post focuses on Bash and Zsh; it does not offer a survey of behavior across other shells.
Disconnect3d also said the nono warning could be more verbose and noted that a pull request was forthcoming. The post does not provide the pull request’s status or describe a change to nono. It likewise does not report that the warning identified a specific malicious file or that an incident occurred.
Command line path management tools
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Check Startup Files and PATH
Users who find a tilde in PATH can inspect the assignment in their shell startup files and decide whether it is intended. If the goal is to include a directory in their home folder, the post recommends replacing the quoted tilde with $HOME, then opening a new shell or reloading the relevant configuration and checking PATH again.
Disconnect3d said a pull request to make nono’s warning more descriptive was forthcoming, but gave no timetable. The next confirmed step for readers is a local configuration check; the report supplies no broader fix or tool release schedule.
Shell environment variable editors
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
Does a tilde in PATH always indicate a problem?
No. It is a reason to check the entry. The report’s concern is a quoted tilde that was meant to expand to the home directory but remains literal.
What should I use for my home directory in PATH?
Disconnect3d recommends $HOME, as in export PATH="$PATH:$HOME/.local/bin/".
How can I check PATH for tilde characters?
Run echo "$PATH" | grep -- '~'. To list entries separately, use echo "$PATH" | tr ':' '\n' | grep '~'. A result means you should inspect the relevant entry and its source.
Which configuration files should I inspect?
The report names .bashrc, .zshrc, and .profile. Check whichever files your shell uses to set PATH.
Source: hn
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.
