Keysharp is a cross-platform C# implementation of the AutoHotkey v2 language. It parses scripts, lowers them to C#, compiles them with Roslyn, and runs the resulting .NET assembly.
The project began as a fork and continuation of the abandoned IronAHK project, itself a C# reimplementation of AutoHotkey. It remains in alpha testing and is not yet recommended for production systems.
See Platform Support for shared backend and permission requirements, How to Install Keysharp for setup, and Changes from AutoHotkey to Keysharp for behavior which differs from AutoHotkey.
Keysharp runs .ahk and .ks source scripts. It also runs .cks compiled assemblies produced by Keysharp. AutoHotkey-compatible names such as A_AhkVersion and #Requires AutoHotkey are intentionally retained so compatible scripts do not need cosmetic rewrites.
The language reference began as the AutoHotkey v2 documentation and is being adapted to Keysharp. Platform qualifications are added to the parameter, return value, error, remark, or example they affect. General platform remarks use headings named Windows, Linux, or macOS so they are easy to scan, and an availability note appears near the syntax when the entire API is unavailable on a supported platform. While the audit is in progress, the absence of a platform qualification does not prove support on every platform; current runtime behavior, source, tests and the migrated platform reference are authoritative.
References to AutoHotkey are retained when they identify:
Keysharp is an independent project. It is not affiliated with, sponsored by, or endorsed by the AutoHotkey project. KeysharpDocs is derived from AutoHotkeyDocs with permission. See Licensing and Documentation Provenance for details.