Inspect
List native macOS or Windows processes and mapped memory regions, or use the full remote discovery surface exposed by an authorized ceserver.
Independent · Protocol compatible · Agent native
cecli --native inspects eligible local macOS or Windows processes. The same command surface connects to upstream Cheat Engine ceserver or an optional cebridge for remote and VM workflows.
$ cecli process list --filter game
{"ok":true,"command":"process list",...}
$ cecli memory read \
--pid 4242 \
--address 0x7FF612340120 \
--format typed --type f32
{"data":{"data":100.0,"type":"f32"}}
Core capabilities
List native macOS or Windows processes and mapped memory regions, or use the full remote discovery surface exposed by an authorized ceserver.
Read bounded ranges and decode integers, floats, UTF-8, UTF-16LE, hexadecimal, or base64.
Find typed values or byte patterns with whole-byte wildcards, alignment, range, protection, and result limits.
Preview without connecting, require explicit confirmation, and optionally verify writes through read-back comparison.
Trace a limited number of events with per-event timeouts, manage active-session breakpoints, and preserve raw context integrity.
Use JSON contracts while managing server options, remote files, symbols, pipes, allocations, module loads, and speed.
Choose the right interface
| Need | Cheat Engine GUI | cecli |
|---|---|---|
| Interactive visual exploration | Excellent | Focused command workflows |
| Shell scripts and CI | UI automation required | Native |
| Stable machine-readable output | Not the primary interface | JSON by default |
| Local macOS and Windows memory | Platform GUI | --native |
| Remote Linux and Android targets | Through ceserver | Through ceserver |
| AI-agent integration | External UI control | Typed help, rules, skills, structured errors |
| Non-interactive mutation safety | Manual confirmation workflow | --dry-run, --yes, and --verify |
Quick start
Prerequisites: Git, Go 1.24+, GNU Make, and permission to inspect the selected process. Use native mode on macOS or Windows; use ceserver for remote Linux or Android targets.
git clone https://github.com/chengyixu/cheat-engine-cli.git
cd cheat-engine-cli
make buildExpected: bin/cecli exists and ./bin/cecli version returns a successful JSON envelope.
# macOS: build and debugger-sign
make sign-macos-native
# Local macOS or Windows
./bin/cecli --native server info
# Remote alternative
./bin/cecli --endpoint host:52736 server infoExpected: local://darwin, local://windows, or the configured remote endpoint.
./bin/cecli --native process list --human
./bin/cecli --native memory regions --pid 4242 --humanExpected: a target PID and at least one readable mapped region.
./bin/cecli --native memory read --pid 4242 \
--address 0x7FF612340120 \
--format typed --type f32Expected: stdout contains a successful JSON envelope whose data.data field is the decoded value.
Fail-closed mutation
# No network connection; review encoded bytes first
cecli memory write --pid 4242 --address 0x1000 \
--type i32 --value 999 --dry-run
# Explicit execution with read-back verification
cecli memory write --pid 4242 --address 0x1000 \
--type i32 --value 999 --yes --verify
FAQ
Cheat Engine CLI is an independent command-line interface with native macOS and Windows process-memory access plus remote Cheat Engine ceserver compatibility.
No. The GUI remains stronger for interactive visual exploration, disassembly, tables, and long-lived debugging. `cecli` focuses on deterministic remote inspection, bounded event traces, and automation.
Yes on macOS and Windows with --native. Remote Linux and Android targets continue to use ceserver.
Writes fail without --yes. The --dry-run flag performs no connection or mutation, and --verify reads bytes back for comparison.
No. It is an independent project based on protocol compatibility with the upstream source and clearly retains upstream attribution.