28 Unix tools. One binary. Zero dependencies.·the missing coreutils for the agent era·try vrk in your browser at vrk.sh/play·curl vrk.sh/install.sh | sh - ready in 5 seconds·

vrk bare

vrk –bare creates symlinks so you can call any tool by name without the vrk prefix.

The problem

A multicall binary means typing the prefix on every invocation. In an interactive session where you run 30 commands in a row, the prefix adds up.

The solution

vrk --bare creates symlinks so you can call any tool by name directly: tok, jwt, epoch instead of vrk tok, vrk jwt, vrk epoch. Symlinks point back to the same binary. Nothing is copied. Remove them with --remove.

Before and after

Before

alias tok='vrk tok'
alias jwt='vrk jwt'
alias epoch='vrk epoch'
# repeat for 28 tools...

After

vrk bare

Example

vrk --bare --dry-run

Exit codes

CodeMeaning
0Success
1Filesystem error creating or removing symlinks
2Usage error

Flags

FlagShortTypeDescription
--forceboolOverwrite existing files at symlink paths
--removeboolRemove bare symlinks (only those pointing to vrk)
--listboolList currently active bare symlinks
--dry-runboolShow what would happen, make no changes

How it works

vrk bare creates a symlink for each vrk tool, so you can run tok instead of vrk tok.

$ vrk bare
Linking assert   → /usr/local/bin/assert  ✓
Linking base     → /usr/local/bin/base  ✓
...
26 linked.

Each tool gets a symlink: tok -> vrk, jwt -> vrk, epoch -> vrk, and so on. The multicall binary checks the name it was started as and runs that tool.

Preview before creating (–dry-run)

$ vrk bare --dry-run
Linking assert   → /usr/local/bin/assert
Linking base     → /usr/local/bin/base
...
$ vrk bare --list
assert    /usr/local/bin/assert
base      /usr/local/bin/base
...
$ vrk bare --remove
Removed assert
Removed base
...
26 removed.

--remove deletes only symlinks that point to the vrk binary. It does not touch other files with the same names.

Overwrite conflicts (–force)

If a file already exists at a symlink path, --force replaces it:

vrk bare --force

If you do not use --force, bare skips existing files and prints a warning.

After setup

# Before: vrk prefix required
vrk tok --check 8000 < prompt.txt

# After: direct invocation
tok --check 8000 < prompt.txt
grab https://example.com | prompt --system 'Summarize'

All flags and pipes work the same as before.