Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Re-sourcing .bashrc triggers try interactive selector
Reported by davidguttman · filed Mar 2, 2026Closed upstream on 2026-03-04 by the merge of PR #4877 (closed by dhh). GitHub close reason: completed.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
Description
Re-sourcing ~/.bashrc (e.g. source ~/.bashrc) triggers the try interactive directory selector instead of silently re-initializing.
Root Cause
In default/bash/init, the try init line:
eval "$(SHELL=/bin/bash try init ~/Work/tries)"On first source, try resolves to the /usr/bin/try binary and works correctly — it outputs a shell function definition.
On subsequent sources, try is already defined as a shell function (from the first eval). So try init ~/Work/tries calls the function, which runs:
/usr/bin/env ruby '/usr/bin/try' exec --path '...' init ~/Work/triesThe exec subcommand doesn't recognize init as a valid sub-subcommand, so it falls through to cmd_cd! — the interactive selector — with init as the search query.
Fix
Use command to bypass the shell function and call the binary directly:
eval "$(SHELL=/bin/bash command try init ~/Work/tries)"Reproduction
- Open a terminal (bashrc sources automatically,
tryfunction is now defined) - Run
source ~/.bashrc - The
tryinteractive directory selector appears withinit-/home/...pre-filled in the search box
Reports
Also reported by umaru-sama on the Omarchy Discord (2026-03-01).
View raw text
## Description Re-sourcing `~/.bashrc` (e.g. `source ~/.bashrc`) triggers the `try` interactive directory selector instead of silently re-initializing. ## Root Cause In `default/bash/init`, the `try init` line: ```bash eval "$(SHELL=/bin/bash try init ~/Work/tries)" ``` On first source, `try` resolves to the `/usr/bin/try` binary and works correctly — it outputs a shell function definition. On subsequent sources, `try` is already defined as a **shell function** (from the first `eval`). So `try init ~/Work/tries` calls the function, which runs: ```bash /usr/bin/env ruby '/usr/bin/try' exec --path '...' init ~/Work/tries ``` The `exec` subcommand doesn't recognize `init` as a valid sub-subcommand, so it falls through to `cmd_cd!` — the interactive selector — with `init` as the search query. ## Fix Use `command` to bypass the shell function and call the binary directly: ```bash eval "$(SHELL=/bin/bash command try init ~/Work/tries)" ``` ## Reproduction 1. Open a terminal (bashrc sources automatically, `try` function is now defined) 2. Run `source ~/.bashrc` 3. The `try` interactive directory selector appears with `init-/home/...` pre-filled in the search box ## Reports Also reported by umaru-sama on the Omarchy Discord (2026-03-01).
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.