PhotoSuite v0.9.18 pairs Photoshop habits with a Rust engine
PhotoSuite v0.9.18 is shaped for people who already reach for Photoshop shortcuts without thinking. It has familiar menus, modifier keys, dialogs, layered PSD and PSB files, smart objects, layer effects, masks, and a long tool list. The app stays local, asks for no account, and sends no telemetry according to the README. Its interface uses egui over wgpu instead of Electron or a web view.
The scope goes well beyond opening a PSD. PhotoSuite handles 8-bit, 16-bit, and 32-bit documents across RGB, grayscale, CMYK, and Lab. It lists camera raw development, ICC color management, painting tools, content-aware operations, and a native .pcraft format. PDF support is much narrower: one page opens as pixels and saved PDFs are flattened. That single limitation may decide the purchase for a layout-heavy shop.
The 238,430-line workspace is a serious source commitment
Our checkout contained 1,163 files and roughly 238,430 lines of source before dependencies. It occupied 132.4 MB and fetched 532 packages in 18 seconds. That is a substantial Rust workspace, with separate crates for PSD handling, color, raster work, composition, GPU rendering, automation, plug-ins, and the interface. A contributor is entering an image platform, not a small desktop wrapper.
Rust 1.90 or later is required. Linux builders also need seven development packages covering Wayland, X11, Mesa, and GTK. The development guide warns that a cold tree compiles the full dependency graph, then provides a devfast profile for later work. Release builds use thin link-time optimization and one code-generation unit, choices that favor the shipped program over the speed of a clean compile.
What happened when we ran it
Our sandbox fetched 532 packages in 18 seconds, then the build reached the 900-second limit without completing. We ran commit 0759160 in an unprivileged lab-rust:1 container with 3 CPUs, 12 GB of RAM, and no secrets. The timeout is the result. The supplied measurement does not contain a compiler error, so blaming a missing library, memory pressure, or a particular crate would be guesswork.
The test command also timed out at 900 seconds. Its last lines were still compiling dependencies such as clap and criterion, followed by photosuite-cli, photosuite-tablet, photosuite-compose, photosuite-plugins, and xtask, all at v0.9.18. The log tail shows compilation in progress, not a failed assertion. We cannot report a passing count, a failing count, or test coverage from this run.
The repository had 1 CI workflow and no top-level tests directory or Dockerfile. That directory signal does not mean tests are absent. The development guide describes unit, property, format, corpus, compositor, and interface checks spread through the workspace. Our finding is narrower and more useful: neither the build nor the test command produced a result within 15 minutes on the measured machine.
PSD round-trip compatibility remains an intention in v0.9
PhotoSuite v0.9 reads and writes PSD and PSB as first-class layered formats, but its own README calls full Photoshop-to-PhotoSuite round trips an intention and says the work is unfinished. That wording should control any production trial. Open copies of real client files, exercise type, smart objects, masks, effects, and uncommon color modes, then compare the saved files in Photoshop before trusting a deadline to them.
Its extension model also draws a firm line. PhotoSuite does not host .8BF, CEP, or UXP plug-ins. It runs filter plug-ins through a custom WebAssembly ABI v1 with no filesystem, network, clock, or randomness imports. Default limits include a 32 MiB module, 512 MiB of linear memory, and a 60-second native run. That is a defensible sandbox, but it does not preserve an existing Photoshop plug-in investment.
The v0.9.18 MCP server can edit files within explicit roots
The v0.9.18 CLI can convert files, inspect documents, batch commands, or serve MCP over standard input. Headless automation has no file authority unless a read or write root is supplied. The live bridge talks to the desktop app over loopback and uses a bearer token. Claude Code setup is documented, so this is a real MCP integration rather than a label attached to an ordinary command line.
That bridge deserves the same care as a remote-control tool. A token holder can send UI input, run commands, and control the application. The protocol is unencrypted and the docs say it must stay on loopback. Read and write roots are separate, path traversal and link escapes are rejected, and preview responses have size ceilings. Start with a disposable directory and a copy of the document, especially while PSD fidelity remains unfinished.
One October release is fresh, while issue activity is unavailable
GitHub shows 828 stars, a push on October 6, 2026, and the v0.9.16 release from October 5. That is recent code and recent packaging. The measured source identifies itself as v0.9.18, two patch versions beyond the latest tagged installer. Anyone comparing a downloaded binary with the current docs should check which behavior belongs to which version.
Community visibility is weaker. GitHub metadata reports 23 open issues and pull requests, yet issues and pull requests are disabled and their public API lists expose no activity. The v0.9.16 notes refer to several merged pull requests that are no longer accessible through this repository. Fresh pushes show work is happening. They do not let an outside team inspect current bug discussion or response times.
Start with v0.9.16, then decide whether v0.9.18 is worth compiling
The packaged app is the sensible first test. Open representative PSDs, save copies, compare the result in your existing editor, and try the CPU fallback if the GPU path misbehaves. Move to source only if the CLI, MCP server, or Rust internals justify a development loop that exceeded 900 seconds twice in our sandbox. PhotoSuite already covers an unusual amount of editing ground, but its own work-in-progress warning should stay attached to every PSD compatibility claim.

