Command-line reference
wusel [--account NAME] <command> [args]
wusel with no command prints its help and exits.
Global options
| Option | Meaning |
|---|---|
|
Which account profile to act on. Omitted, every command uses the implicit
|
|
Print the version and exit. |
|
Print help. Also available per subcommand. |
Connecting
wusel login <SERVER_URL>
Log in through Nextcloud’s Login Flow v2 and store the credentials. Prints a URL to confirm in a browser; your real account password is never seen or stored. Nothing is mounted.
| Argument / option | Meaning |
|---|---|
|
The Nextcloud base URL, for example |
|
Where to keep the app password. Unset, |
wusel mount [MOUNTPOINT]
Mount the filesystem in the foreground. Requires a binary built with the fuse
feature; the distribution packages are.
| Argument | Meaning |
|---|---|
|
Where to attach. Omitted, |
Two accounts may not share or nest a mountpoint; mount refuses to start where
its target equals or contains any active mount, or sits inside another wusel
mount. Linux only.
While mounted, the daemon also serves the account’s IPC socket (see
wusel serve), which the file manager queries for per-file
state.
wusel serve
Run the engine without a FUSE mount and serve its intent protocol over a
Unix-domain socket — how the macOS File Provider agent drives the engine, and a
way to exercise it for diagnostics and tests. Not behind the fuse feature.
| Option | Meaning |
|---|---|
|
The socket to bind. Default: |
Refuses to start while the account is mounted: the mount already serves the socket, and two engines must not share one state database. Exits when the process that started it goes away.
wusel service <enable|disable|status>
Manage the systemd user service for this account. Linux only.
| Subcommand | Meaning |
|---|---|
|
Mount now and at every login, in the background. |
|
Stop the mount and stop it starting at login. |
|
Show the service status — the equivalent of |
On a machine where the package installed the unit template, systemctl --user
enable --now wusel@<account> does the same thing.
Keeping files offline
wusel pin <PATH> / wusel pin --all
Keep a file or directory offline permanently. Downloads it now — a directory recursively — and exempts it from cache eviction.
| Argument | Meaning |
|---|---|
|
The path to pin: relative to the account root, for example |
|
The whole account: the old desktop client’s "download everything". The only way to make that pin — a path that resolves to the account root is refused and points here instead. |
The path is not optional, and neither is the flag: an account-wide pin downloads everything the account holds and marks every file in it as kept offline, so it has to be asked for. Leaving the argument out used to do exactly that.
A directory pin covers its whole subtree, including entries not yet listed. Needs no running mount.
wusel unpin [PATH]
Remove a pin. The files become ordinary, evictable cache again; nothing is
deleted from the server. Omitting PATH removes the whole-account pin. PATH
takes the same two forms as for pin.
wusel update [PATH]
Fetch what a pin promised and the disk does not have: a copy that has gone out
of date, and one that was never fetched at all (a directory pin covers files the
server grows afterwards). In place. PATH takes the same two forms as for
pin.
Omitting PATH covers every pin in the account: the whole-account pin if there
is one, otherwise each pin in turn (a pin inside a pinned folder is left to that
folder). A pin that fails does not stop the others; the failures are reported
together at the end. With nothing pinned at all, it refuses.
Deliberately not the same as unpinning and pinning again, which would drop the eviction marker first — a re-download that then failed would leave the file both outdated and unprotected.
Accounts
wusel account <list|remove NAME>
| Subcommand | Meaning |
|---|---|
|
List the configured accounts. |
|
Delete a named account: its configuration directory ( |
Finding out what is going on
wusel status
Show what the mount is doing right now, by file name: uploads still owed to the server — including any parked after a permanent failure — files coming down, and the rest of the work in flight.
| Option | Meaning |
|---|---|
|
Keep redrawing until interrupted. Individual reads are far too short to be caught by a single print. |
This is for the person whose files these are. doctor is the other half: name-free,
and made to be shared.
wusel doctor
Collect diagnostics for a support case: system, daemon, mount, the FUSE connection’s waiting count, the daemon’s internal state, the state of the notify_push connection, and a redacted journal tail. Redacted by default, so the output is safe to attach to a ticket.
| Option | Meaning |
|---|---|
|
Also write |
|
Include full paths and file names — turns redaction off, for a consenting deep dive. |
|
Omit the journal tail from the report. |
Cache
wusel cache clear [PATH]
Drop cached data so the next access loads fresh from the server. Stop a running mount first.
| Argument | Meaning |
|---|---|
|
A remote path, for example |
Separates a stale-cache problem from a server-side one. It refuses to run while the account is mounted; see Known limitations for why.
Desktop integration
wusel web url <PATH>
Print the Nextcloud web URL for a file or folder — what the file manager’s "Open in Nextcloud" and "Copy Internal Link" actions use. Built from local metadata only, with no network request; the caller opens or copies it.
| Argument / option | Meaning |
|---|---|
|
Relative to the account root, or absolute inside a wusel mount. |
|
Print the link that opens the parent folder with the object highlighted.
Without it, the object link ( |
Fails for a path not yet in the local metadata, and for an object that exists only locally (created but not yet uploaded).
wusel desktop notify [SEVERITY]
Send a test notification through the real backend, to verify the desktop’s notification channel works independently of any sync event. On Linux it posts to the notification bus directly. On macOS only the agent app may post, so the command hands each notification to the running agent over its socket; the agent must be running.
| Argument / option | Meaning |
|---|---|
|
|
|
macOS only: the agent’s socket. Default: discovered — the App Group container first, then the fallback under Application Support. |
wusel desktop install-provider
Install this account’s file-manager cloud-provider registration, so a file manager shows the mount in its sidebar. Writes into a system directory, so it needs root — the file manager’s collector only scans system data directories, never the user’s home.
| Option | Meaning |
|---|---|
|
Target directory. Default: the system applications directory. |
The packages do this for the default account already. Named accounts need it run once each.
Services
wusel ipc <OP> [PATH]
A client for the IPC socket of a running wusel serve or wusel mount, for
diagnostics and tests. PATH is account-relative, default /.
| Argument / option | Meaning |
|---|---|
|
Read: |
|
The socket to connect to. Default: the account’s socket, as for |
|
|
|
|
|
|
|
|
|
|
Responses are printed as JSON on stdout. fetch writes the content to stdout and
the response header to stderr, so it pipes cleanly.