Repository navigation
Releases: overseers-desk/crude
Release list
crude 1.6.6
What changed
- New site:
crude-business-profile, your own Google Business Profile over Google's Business Profile APIs. It lists the locations a Google account manages with their Place IDs, lists a location's reviews (newest update first;--since,--unreplied,--all) and shows one, and writes or removes the business's reply. The credential is a google-auth authorised-user token file in the state directory, made once bycrude-business-profile author copied from a working token; onlyauthreads[business-profile]client_idandclient_secret. Only locations the signed-in account manages are reachable. Setup and the API notes are indocs/business-profile.md. - The browser half of an OAuth consent (the loopback callback and the paste-based fallback) lives in
crude_common, shared bycrude-xeroandcrude-business-profile.
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.6_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.6-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.6.5
- A crash in any crude binary no longer prints its local variables. Under Typer 0.15, which Debian ships and which shows locals by default, a crash printed the whole config.toml with every site's credentials.
- crude-facebook: a connection, DNS or SSL failure no longer prints the access token, and an error body whose error is a plain string ends with a FacebookError.
- A token or session file that cannot be saved ends the command with one line naming the file, instead of a traceback.
- crude-atdw login and crude-skal login no longer print part of the token or session cookie.
- The Claude command tells agents to leave config.toml and the token files unread and to check credentials with a site's status or login command, and gives the Xero token's real path.
- An expired Xero login while resolving the tenant ends any crude-xero command with one line, as crude-xero tenants does.
- A crude-xero, crude-airwallex or crude-clover write builds its client before the [y/N] prompt, so a config it cannot be built from ends the command with its own error first.
- A config or tenant helper's own exit ends the command with only its message.
- A read-only Claude Code tree no longer fails the command the user ran: the per-run refresh of the Claude Code command file skips a write it cannot make.
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.5_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.5-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.6.4
- crude-xero: the
employeehelp says it is the Accounting API record and points payroll staff atpay-employee; the Claude command lists the Payroll resources (pay-employee, pay-run, timesheet, leave-application, super-fund, payroll-calendar, pay-item, payslip, payroll-settings).
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.4_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.4-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.6.3
Changes
- crude-rezdy:
booking createasks Rezdy to email the customer by default. Suppressing the emails (--no-notify, orsendNotifications=falsein the body) needs an explicit confirmation whose default is no, and--yesdoes not answer it. - crude-airwallex:
transaction list --allfetches every page; it used to stop after 100 rows.
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.3_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.3-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.6.2
crude 1.6.2
Every time crude shows now follows the config's timezone. 1.6.1 converted the list tables and the dates you type; this release reaches the places that still printed what the API sent.
- Single-record views.
getcommands show their timestamps in the config's timezone: every crude-rezdyget(a booking made at 9 pm Brisbane time showed 11 am), crude-cloverpayments,refunds,creditsandcash-eventsget(epoch milliseconds before), crude-wiseprofile getandtransfer get, and the crude-atdw listing's published and updated times.--jsonstays as the API sent it. - crude-xero: readable dates. Xero sends a date as
/Date(1633564800000+0000)/, and every table and record view printed that. A date now shows as the day (2021-10-07) and a field whose name ends in UTC as a time in the config's timezone.history listshows when each entry was made. - crude-deputy: readable shifts. A roster's or timesheet's start and end are Unix seconds in the API and printed as such; they show as times in the config's timezone. A business date shows as the day in place of
2026-10-03T00:00:00+10:00. - crude-rezdy: voucher dates.
voucher listandvoucher getshow the issue and expiry instants in the account's timezone; an issue date at the start of a Brisbane day read as the previous day. - crude-skal: an event's start, which Odoo sends as a UTC time with no offset, shows in the config's timezone.
- crude-airwallex, crude-wise: a time typed on
--fromor--to(2026-09-01T09:00) is read in the config's timezone; it used to reach the API with no zone at all. - crude-clover:
--tzonorders list,flattenandstatusdefaults to the config's timezone, with Australia/Brisbane as the last resort; the genericresource listshows its timestamps as the registry lists do. - LDIF exports on a computer in a daylight-saving zone, with no timezone in the config, carried the current offset on every record; each record now carries the offset of its own instant.
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.2_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.2-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.6.1
crude 1.6.1
- One timezone for every site. A
timezonekey in the config (an IANA name such asAustralia/Brisbane) names the zone crude works in. Typed dates are read in it and times are shown in it, whatever the computer's own clock is set to. At the top level of the config the key covers every site; inside a site's section it wins for that site; with no key, the computer's zone applies. crude-airwallex, crude-wise, crude-sonas, crude-facebook, crude-mautic and crude-clover's record lists now follow it. crude-rezdy already did, through the key its own section requires. A team that shares one config gets the same rows and the same times on every computer. - crude-rezdy: a typed date is the account's day. On
booking listandbooking cancellations, a bare date used to reach Rezdy as midnight UTC. For a Brisbane account a range lost the first ten hours of its first day and all but the first ten hours of its last. A time typed without an offset is account-local too;Zor an offset is honoured. - crude-rezdy: the filters of Rezdy's current Supplier API.
booking listtakes--source-channel,--reseller-reference,--roleand a repeatable--product.category listtakes--searchand--visible/--private.resource sessionstakes--from/--to/--limit/--offset.availability listtakes--offset. - crude-rezdy: the API key travels in the
apiKeyheader, out of URLs and error text. - crude-sonas: dates are the venue's days once the
timezonekey is set. On a computer west of the venue an event showed a day early, and a day's range took in the next day's events. A timeline time typed without an offset is venue time under the same key. - crude-deputy:
resource listpages. It honours--limitand--start, and--allstops at the last page. Before, it ignored both, and--alldid not finish on an object of 500 rows or more. - crude-facebook and crude-mautic: local times. Tables and record views show times in the working timezone in place of the API's UTC strings;
--jsonstays raw.crude-facebook post create --schedulereads an ISO time typed without an offset in the same zone.
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.1_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.1-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.6.0
crude 1.6.0
- crude-wise: a Wise Business backend for balances, the balance statement, transfers, recipients and the activity feed, under the
crude-wise <resource> <verb>grammar and shipped in the.deband the.rpm. The personal API token is sent as an opaque bearer, so the UUID tokens Wise issues today and the JWT tokens it is migrating to both work unchanged. The statement is SCA-protected for profiles registered outside US/AU/NZ/SG/CA/MY; withprivate_keyconfigured, crude signs Wise's one-time token through openssl and resends the request, and without one it reports the key setup.
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.6.0_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.6.0-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code
routes the relevant prompts through crude:
crude install-claude-command
crude 1.5.0
What's new
- crude-mautic: a Mautic backend for forms, submissions, contacts, segments, campaigns and email send counts. A form is addressed by numeric id or by the alias its page markup carries, and
--where/--group-byslice a shared form by the hidden field a page marks its traffic with. - crude-sonas
event leads: counts enquiries by lead source and enquiry date. - crude-xero: PKCE auth for mobile-or-desktop Xero apps (client_id only); a config
client_secretselects the confidential web-app flow instead. Default consent uses Xero's granular scopes, the only kind apps created on or after 2 March 2026 can consent. Journal commands explain the Advanced-tier gate instead of failing with a bare 403. - Claude Code registration installs into the configuration directory the session actually reads:
$CLAUDE_CONFIG_DIRwhen it is set,~/.claudeotherwise. A machine with several configuration trees no longer takes the install in one and leaves the others without it.
Install
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.5.0_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.5.0-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code routes the relevant prompts through crude:
crude install-claude-command
crude 1.4.2
People commands across all sites gain --ldif: LDIF (inetOrgPerson) output for rezdy customers, skal members, deputy employees, sonas guests, xero contacts and pay-employees, airwallex beneficiaries, and clover customers and employees. Streams from separate runs concatenate into one loadable LDIF file, and created/modified timestamps are rendered in the configured timezone. Two new optional config keys: top-level timezone and base_dn.
Install:
Homebrew:
brew tap overseers-desk/od
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.4.2_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.4.2-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code routes the relevant prompts through crude:
crude install-claude-command
crude 1.4
Add crude-facebook: a Facebook Pages client via the Meta Graph API. Covers posts (list, get, create, edit, hide/unhide, delete), page insights, and comments. Auth via a System User token stored in the durable state store. The binary replaces crude-meta; Instagram support is deferred to a future release.
Install
Homebrew:
brew tap SmartLayer/crude https://github.com/SmartLayer/crude
brew install crude
Debian / Ubuntu:
sudo apt install ./crude_1.4_all.deb
Fedora / RHEL:
sudo dnf install ./crude-1.4-1.noarch.rpm
After installing by any method, register the Claude Code command so Claude Code routes the relevant prompts through crude:
crude install-claude-command