Repository navigation
Releases
axKit 5.0.1
- axKit:
PRIVACY.md, the README,SECURITY.mdand the bundle spec say exactly how axKit meets the network: its own code makes requests in the updater alone, over HTTPS to GitHub (the update check, a setting, and the download you choose, accepted from this repository's release address only); an access layer reaches the network only through the program it runs as a child process on your computer (Claude Code talks to Anthropic, git reaches a remote on fetch, pull and push alone, your shell's commands reach what they reach, KeePassXC's tool nothing). - axKit:
docs/axkit/outside-calls.md, a page written from the sources at every release: everything axKit reaches outside its own process, GitHub, Claude Code, git, the shells, KeePassXC's tool, the installers, Windows, the programs you choose, axKit itself and the AI tools' pipes, with what each is, where it is, how axKit reaches it and its documentation, and every call in the code under it with its app, file, line, function and purpose. The README links to it under Transparency and self-audit. - For developers: every network request, program start and pipe in
srccarries anOutside call, <kind>, <what is reached>:comment;tools/outside-calls.ps1writes the page from them,build.ymlfails on a call without one or a stale page, andrelease.ps1writes and commits the page with each release (bundle SPEC B-17, AX-11.11). - For developers: the release workflow can sign
AxKit.exefor Windows (Authenticode) through Microsoft's Azure Artifact Signing, so that Windows' Smart App Control accepts an update instead of blocking it ("An Application Control policy has blocked this file" on 3.7.1 and 3.7.4): a job of its own signs in to Azure with the run's OpenID Connect token as an identity that holds the signer role alone, signs with a certificate Microsoft issues for each signing in the maintainer's verified name, and zips nothing Windows does not find validly signed. The repository variableAZURE_CERTIFICATE_PROFILEis the switch, off until the maintainer's identity validation and the certificate profile are through, and a release made with it off says in its notes that the program is unsigned (docs/axkit/code-signing.md;publish.ps1 -NoZipand-ZipOnly;ReleaseWorkflowTestskeeps the order, the switch and the pinned actions).docs/axkit/development-environment.mdlists every tool of the development computer, how it is installed, signed in and checked, and the order to set a new computer up in. - For developers: axList, lists to remember as plain Markdown files, is planned as an app of its own beside axTask: its specification, user guide and NVDA test plan are in
docs/axlist/, brought from the branch where it was first drafted in 2026-10 and brought up to the bundle as it is; nothing of it is built. The draft's code is kept as the tagarchive/axlist-draft. - For developers:
docs/feature_requests/is an axTask folder, the maintainer's feature requests and bugs as items of the listsFeaturesandBugs(axtask docs\feature_requestsopens it); its README says how an item moves into the plan, a spec and the code. GitHub's issues wait until there are users.
Built with the .NET SDK 10.0.403.
axKit is a set of personal tools shared as they are, not a product or a service. Installing this release means accepting its licence, https://github.com/KyleKeane/AxKit/blob/v5.0.1/LICENSE, and the reminders in NOTICE.md, https://github.com/KyleKeane/AxKit/blob/v5.0.1/NOTICE.md.
Code signing policy, privacy and governance: https://github.com/KyleKeane/AxKit#code-signing-policy, https://github.com/KyleKeane/AxKit/blob/main/PRIVACY.md and https://github.com/KyleKeane/AxKit/blob/main/GOVERNANCE.md
AxKit.exe in this release carries no Windows signature, and Windows' Smart App Control may refuse it; signed releases are being set up (https://github.com/KyleKeane/AxKit/blob/main/docs/axkit/code-signing.md).
axKit 5.0.0
- axKit: the bundle is called axKit, not Axit: a commercial product carries the old name. The program file is
AxKit.exe, the install folder%LOCALAPPDATA%\Programs\AxKit, the Start menu entriesaxKit axClaudeand so on, the File Explorer submenuOpen with axKit, the console commandaxkit, the settings and logs%APPDATA%\AxKitand%LOCALAPPDATA%\AxKit, the menu in every window the axKit menu, and the repository github.com/KyleKeane/AxKit, where the old address redirects. The apps and their names are unchanged. - axKit: an installed Axit, up to 4.0.0, cannot install this update itself: its updater takes a release's files only from the old repository address, which GitHub now rewrites, so its update notice ends with "The release has no Windows zip attached". Close the Axit windows, download
install.cmdfrom this release's page (Open release page in that notice) and run it: it removes Axit completely, folder, Start menu entries, File Explorer entries, console commands, sign-in entries and Apps entry, and installs axKit; the first app you start then moves your settings, recently closed list, consents, AI tools' pairings and logs from the Axit folders to the AxKit folders. Axit's entry among Claude Code's MCP servers,axit, goes when you add axKit to Claude Code (axKit menu, AI tools). - For developers: every project, namespace, folder, class, script, workflow, document, test and automation script was renamed in one pass (
AxKit.sln,src/AxKit,AxKit.Core,AxKit.Forms,tests/AxKit.Tests,docs/axkit,AxKitForm,AxKitList,AxKitMenu); the automation variables areAXKIT_AUTOMATIONandAXKIT_HOME, the NVDA add-onaxkitCapture, the release key's folder%LOCALAPPDATA%\AxKit-release, the MCP serveraxkitwith the toolsaxkit_apps,axkit_windows,axkit_window_textand the rest, and the hand-over marker between windows the letters AXKIT. The recorded fixtures keep the name of the folder they were recorded in. The decision and its reasons: bundle SPEC B-16; the installer's removal of Axit: AX-2.6; the folders' move: AX-5.4.
Built with the .NET SDK 10.0.403.
axKit is a set of personal tools shared as they are, not a product or a service. Installing this release means accepting its licence, https://github.com/KyleKeane/AxKit/blob/v5.0.0/LICENSE, and the reminders in NOTICE.md, https://github.com/KyleKeane/AxKit/blob/v5.0.0/NOTICE.md.
Code signing policy, privacy and governance: https://github.com/KyleKeane/AxKit#code-signing-policy, https://github.com/KyleKeane/AxKit/blob/main/PRIVACY.md and https://github.com/KyleKeane/AxKit/blob/main/GOVERNANCE.md
Axit 4.0.0
- Axit: Axit says plainly what it is: the tools its maker uses every day as a blind scientist, shared in case they help others, not a product or a service, with no support and no warranty. The README, the guides, the installer and
NOTICE.mdsay so, and the notes about each tool read as reminders. - Axit: Axit is now under the GNU Affero General Public License, version 3 only, instead of MIT (versions up to 3.7.6 stay MIT).
NOTICE.md, in the zip and in every window under Axit menu, About, Licence, has the licence's additional terms (no warranty, no liability, attribution kept, changed versions marked and given a name and icons of their own, no use of the author's name to promote them, indemnification) and a reminder for each tool. - Axit: the apps that work through a program Axit does not include are called access layers wherever their names appear: "axClaude, access layer for Claude Code", "axGIT, access layer for Git", "axTerminal, access layer for your shell", "axPass, access layer for KeePassXC", in window titles, every list of apps, the Start menu, File Explorer's Open with Axit submenu, Windows' Open with, F1 and the guides. They come after the standalone apps, behind a separator. About, Version names the two kinds.
- Axit: before an access layer first connects to its program, or to a new git server, its window shows a short reminder with one check box ("I understand that it is only an access layer, and that following the other program's terms is up to me") and two buttons, Connect and Not now; Install it now and pairing an AI tool ask the same. Each shell of axTerminal asks once, PowerShell and Command Prompt included. About, Licence ends with what you agreed to on this computer. axClaude says whose account it is when you send /login; axGIT the first time a window reaches a server.
- axClaude: several questions in one call are numbered again ("Question 1 of 2") and each answer says what comes next, on Claude Code 2.1.316, which draws them under a "Questions: Colour, Fruit" line instead of the tab row; the ">" that now starts each question's row is not read. Found by the NVDA pass.
- axTerminal: "Done", "Failed" and "Ready" are spoken again: they are said together with the command's last line or the shell's banner, as one announcement, since NVDA dropped the second of two that came back to back. Found by the NVDA pass.
- Axit: what a window announces as it opens is said once the window is in front, so that nothing is lost when it is started from another program (axMedia's "No sound or video files" and "Cannot play"); and two announcements that come within a third of a second of each other are said as one, since NVDA dropped the second. axClip reads a copy again a moment later when the text is not there yet.
- Axit: a check box says "checked" or "not checked" when you toggle it; NVDA said nothing in the reminder's box. Every check box of the bundle is one shared kind, so a new one says it too.
- Axit: the update notice says that installing means accepting the release's terms, and its buttons read "I accept all terms, install and restart" and "I accept all terms, install and close"; every release page carries the same sentence with the links.
- For developers:
nvda-pass.ps1 [<app>]runs the app scripts with NVDA listening, every expected announcement checked as NVDA speaks it, with Windows' voice asking you to keep off the keyboard until it is over (docs/axit/automation.md); the reminders of axGIT and axTerminal have scripts of their own, and the other scripts start with the reminders agreed to. - For developers: contributions come under a contributor licence (
CONTRIBUTING.md, and a box in the pull request checklist): AGPL, plus a licence to the copyright holder to publish them under other terms as well.
Built with the .NET SDK 10.0.403.
Axit is a set of personal tools shared as they are, not a product or a service. Installing this release means accepting its licence, https://github.com/KyleKeane/Axit/blob/v4.0.0/LICENSE, and the reminders in NOTICE.md, https://github.com/KyleKeane/Axit/blob/v4.0.0/NOTICE.md.
Code signing policy, privacy and governance: https://github.com/KyleKeane/Axit#code-signing-policy, https://github.com/KyleKeane/Axit/blob/main/PRIVACY.md and https://github.com/KyleKeane/Axit/blob/main/GOVERNANCE.md
Axit 3.7.6
- Axit: a privacy page says everything Axit contacts over the network and when, the programs it runs, and what stays on your computer; it is in the zip, on GitHub and in every window (Axit menu, About, Privacy), and the installer says it before it changes anything, with what it changes. About, Third-party notices names the .NET runtime and Windows Forms the program carries, under their MIT licence.
- For developers: the repository's governance (
GOVERNANCE.md: roles, how releases are made, the maintainer's commitments), a code of conduct, the code signing policy in the README and every release page, how contributions are licensed inCONTRIBUTING.md, and the plan for free Windows code signing through SignPath Foundation (docs/axit/code-signing.md).
Built with the .NET SDK 10.0.402.
Code signing policy, privacy and governance: https://github.com/KyleKeane/Axit#code-signing-policy, https://github.com/KyleKeane/Axit/blob/main/PRIVACY.md and https://github.com/KyleKeane/Axit/blob/main/GOVERNANCE.md
Axit 3.7.5
- Axit: an update that Windows will not let run (Smart App Control's "An Application Control policy has blocked this file") stops before it changes anything, and says why; the version you have keeps working. Until now the update installed the blocked program and failed at the end. A background app that cannot be started again after an update is said rather than failing it.
Built with the .NET SDK 10.0.402.
Axit 3.7.4
- Axit: a paste is heard in every window: Ctrl+V or Shift+Insert into the message field, an editor, a field or a notice's field says "Pasted", or "Pasted, 3 lines" for several; the text itself is never read out.
- axProcess: sizes are said as in every other app, one decimal from megabytes up ("350.4 MB"); they were whole megabytes.
- axPreview: Ctrl+E and Open with no longer run a program, a script or a shortcut you are only looking at: a notice says so, and where to run it if you trust it. A Word, PowerPoint or OpenDocument file made to unpack to gigabytes, or one that declares a DTD, is shown as its readable text instead of being loaded.
- axGIT: Ctrl+F, F3 and Shift+F3 find in the list while the list has the focus, as in every other list window, and in the details otherwise; they always searched the details.
- Axit: the AI tools hand a client nothing a window announced while access was off or before the client was paired, refuse more script hosts as clients (bash, WSL, the terminals, dotnet and other runtimes), and quote npm's claude.cmd command line safely. An app opened through Windows' Open with lets only itself take the foreground. Copy details also leaves out the computer's and the domain's names and a work OneDrive's organisation.
- For developers: one runner for programs run to their end (
Axit.Core/ProcessRun, from axGIT, axClaude and axPass), the item apps' selection menus inItemForm,AxitList.SetLines,EditKeysandTextJumpeach one class, shared test helpers (tests/Shared), and the long code notes rewritten one bullet per file; the security review of 3.7.x is indocs/axit/security-audit-2026-10-24.md(S-46 to S-53).
Built with the .NET SDK 10.0.402.
Axit 3.7.3
- axClaude: in a side answer's text (
/btw), the letters Claude names work as the buttons do: c copies, f forks. A long answer that arrives in parts keeps its first lines in the text instead of losing them off the top of the console. - Axit: a failed update's notice shows what went wrong (the versions, Windows' version, and what the installer said or the error) and has a Copy details button that puts it on the clipboard to send, with your account's name, your folders and any e-mail address left out. The installer's own log says which version it installs on which Windows, and where it failed.
Built with the .NET SDK 10.0.402.
Axit 3.7.2
- axPreview: a viewer for every file, in two panes: the file above, read as text, and a Details list under it (Tab or F6) with everything known about the file: its name, folder, size, type and dates, what is in it (the encoding and the words of a text, the files of a zip, the headings of a document), and every detail Windows has, like a picture's dimensions or a song's length. Ctrl+C copies a detail's value; Enter on the Folder line opens it in axFile.
- axPreview: every kind of file opens, each through its own reader: a text file as before; a Word document, a PowerPoint presentation or an OpenDocument text as its text, with its headings and slides as headings for Ctrl+H; a zip as its list of files; a picture, sound or video as what it is; any other file as the readable text inside it. "Not a text file" is gone.
- axPreview: Ctrl+E goes on with the file by its kind (its editor, axMedia, or the program Windows has for it), and File, Open with lists the Axit apps for the file, Windows' program and Windows' own list of programs, where Always sets a default.
- axPreview: offered under Windows' Open with for every file type, not only text files.
- For developers:
Axit.Core/FileSize(axFile's size format) andAxit.Forms/WindowsOpenWith(axFile's Open with dialog) are shared on their second use. - Axit: an update no longer fails with "the list of apps could not be read": the zip carries the list as
apps.json, which the installer reads when the new program cannot answer, and the message says why it could not (3.7.1's update failed so on one machine, with no reason given). - Axit: the installer no longer removes other programs from Windows' Open with. Writing Axit's entry for a file type emptied the type's list in your own part of the registry first, taking the other programs registered there for you with it, for
.md,.txt,.json, the sound and video types and.kdbx; programs registered for the whole computer were not touched. A program that went missing comes back when it is updated or repaired.
Built with the .NET SDK 10.0.402.
Axit 3.7.1
- Axit: Windows' Open with lists each app for its file types on its own line: axDown and axPreview for
.md,.markdownand.txt, axJSON and axPreview for.json, axMedia for sound and video, axPass for.kdbx. Only axPreview was offered before, since Windows lists one program per program file and every app isAxit.exe; the installer now gives each of these apps a link ofAxit.exeunder its own name (axDown.exeand the like), which hands the file toAxit.exe. - For developers:
tools/sign-release.ps1parses again, and the release workflow no longer makes the draft for a tag ending in a carriage return.
Built with the .NET SDK 10.0.402.
Axit 3.7.0
- axClaude: a side answer (
/btw <question>) and the other screens of Claude's that only inform (/goal,/taskswith nothing running) are read-only text in the window, its title the screen's and its text the answer, with Close (Enter or Escape, which closes the screen in Claude too) and a button for each of the screen's other keys (Copy, Fork, Browse); they used to be a list in the message field's place, with "waiting for your answer" in the status bar, which now says "showing a side answer". A second/btwin a session, whose keys Claude names with Shift and the arrows, is shown too, where it used to show nothing. - Axit: in every window, AI tools such as Claude Code can read what the Axit windows show and open apps, once you turn it on in the Axit menu, AI tools, which also adds Axit to Claude Code for you, and allow each tool in the notice it brings up. It is off by default; a tool cannot change or delete anything, never reads axPass or axClip, and every call is in
mcp-audit.log. Forget AI tools takes every pairing back. - axPass: F5 reads the database again, as File → Refresh does; it used to show the list read before.
- For developers: every window's keys are one list of commands (
Axit.Forms/Command,docs/axit/app-kit.mdAK-2), each making its menu item and its key from one record, with a mark of what it does for the planned AI access; the windows' key switches are gone. New scripts for axStart and axClip intests/scripts. - For developers: a new app is registered by its line in
Dispatch.Appsand a run oftools/new-app.ps1, which writes its folders, a first window, its documents and its registration places (docs/axit/app-kit.mdAK-4.3). The installer reads the apps fromAxit.exe apps,run.ps1andtools/make-icon.ps1fromDispatch.cs,Program.csstarts them from one table, and the executable references the projects ofsrcby a glob. - axGIT, axPass, axClaude: when Git, KeePassXC or Claude Code is missing, the notice that says so offers Install it now: the maker's own installer runs without a window (Git and KeePassXC through winget, with one administrator prompt; Claude Code for your account only), and the app goes on once it is there. Without winget, the download page opens.
- axTerminal: only the shells this computer has are listed; PowerShell 7 and Git Bash, when missing, are offered as Install PowerShell 7 and Install Git, for Git Bash in Session, Switch shell.
- axCalc: a new app, a calculator as one expression field and a history list. Enter says the answer and adds the line "expression = answer" to the history; an expression that starts with an operator continues from the last answer; variables (
rate = 1.25), functions, constants, hexadecimal, binary and octal numbers. Ctrl+I says an answer in hexadecimal, binary and octal, Ctrl+Shift+C copies it, Enter on a history line puts its expression back in the field, Ctrl+S saves the history. Start menuAxit axCalc, commandaxcalc. - axClip: a new app, a clipboard history. It runs in the background from sign-in and keeps the text of every copy, in memory unless you turn on Keep history between runs, leaving out what a password manager marks private. Windows+Alt+V from anywhere brings up one search field over it, newest first: type to narrow it, Down and Up move through it, Enter pastes the item into the program you were in, Shift+Enter only copies it, Ctrl+Q reads it in full, Delete removes it, Ctrl+P pauses recording. Start menu
Axit axClip, commandaxclip. - Axit: in every window, the apps are listed in four groups with a separator between them, the same order everywhere: axClaude, axTerminal, axGIT; axFile, axDown, axJSON, axPreview, axMedia; axTask, axPass; axStart, axClip, axCalc, axProcess (the Axit menu's New window and Open windows by type, axFile's Open in Axit).
- Axit: every window that holds a file or a folder has the same Show in submenu: File Explorer, then axClaude, axTerminal, axGIT and axFile but itself. The editors, axPreview and axMedia gain axClaude (in the file's folder), and axMedia axTerminal and axGIT.
- Axit: in Recently closed, every app is in it, axCalc, axClip and axStart by name when they close, as axProcess was. axFile's Open in Axit no longer offers the apps that take no path.
- Axit: in every window, the Show current folder in submenus name the apps as the bundle spells them, axGIT, axTerminal, axFile, axClaude, with the same letters.
- axClaude, axFile: a clipboard another program holds is said the way every other window says it, "The clipboard could not be written", with the reason.
- Axit: every release is now signed, and Axit installs an update only when its signature checks against the key built into it; install.cmd checks the same before it installs. A hijacked GitHub account could publish a release, but not one Axit installs.
- axGIT: a repository that names programs of its own (hooks, a file monitor, diff programs) runs without them until you choose Trust this repository in the notice that says so. A repository copied from a zip or a USB stick can no longer run anything by being opened.
- axPass: Ctrl+C puts the password on the clipboard marked private, so Windows clipboard history (Windows+V), the cloud clipboard and axClip keep no copy, and clears it after 30 seconds, on lock and on close. axPass locks when you lock Windows, switch user or the computer sleeps. Ctrl+U opens web addresses only. KeePassXC's tool is used from outside Program Files only when Windows finds it signed.
- axTerminal: a program's output or a file you print can no longer fake "done", the prompt or the folder: only the marks of the shell's own prompt count.
- axClip: a history kept between runs is encrypted so that only your Windows account can read it.
- axTask: a link to a network folder or a file outside the lists is never opened; it reads as missing.
- axFile: files taken out of a downloaded zip keep the mark Windows uses to warn about downloads, and Compress leaves links inside a folder out.
- Axit: in every window, Copy diagnostics replaces your account's name, paths and e-mail addresses before you share it. Programs Axit starts (git, cmd, PowerShell, File Explorer) are found by their full path, never in the folder you opened. Names with hidden direction marks show them, so "invoicetxt.exe" cannot pass for a text file.
- For developers: the security audit,
docs/axit/security-audit-2026-10-24.md(45 findings and what became of each), the release key and signing (tools/release-key.ps1,tools/sign-release.ps1, AX-3.4), the automation channel's run secret, and the specifications of MCP access (docs/axit/mcp.md) and the app kit (docs/axit/app-kit.md), not built yet.- For developers: the inventory of copies, dead code and drift,docs/axit/inventory-2026-10-24.md, and its eleven cleanups: sharedCopyText,Dispatch.EditorOf,MarkdownKeys,User32,ListViewState, the search field ofHotkeyForm, the large windows in partial files, the notes against the code.
Built with the .NET SDK 10.0.402.