I would like to request classic confinement for our newly registered snap, novaterm-app (published as NovaTerm).
NovaTerm is a next-generation, AI-native terminal workspace and code editor. Because of its nature as a fully-featured terminal emulator and developer workspace, it inherently requires unrestricted access to the user’s host environment.
Specifically, NovaTerm requires classic confinement for the following reasons:
Host Shell Execution: It must spawn and interact with the user’s default shell (e.g., bash, zsh, fish) and correctly inherit the host’s environment variables and paths.
Filesystem Access: As a terminal and code editor, users need to freely navigate, read, and write to any directory on their entire filesystem without being restricted to the snap’s sandbox.
Developer Tools & Toolchains: The application needs to be able to execute arbitrary system binaries (compilers, git, node, python, etc.) that the user has installed globally on their host machine.
Using strict confinement would completely break the fundamental purpose of the application, as it would trap the terminal in an isolated sandbox, preventing it from interacting with the user’s real development environment.
I would like to request classic confinement for NovaTerm
Name: novaterm
Description: NovaTerm is a high-performance, lightweight, and extensible AI-native terminal emulator designed for modern workflows. It combines a native PTY backend with a built-in AI agent capable of reading project contexts, editing files, and securely executing commands.
AI agent/assistant that runs arbitrary user-directed code and needs to reach files and programs that aren’t known at built time.
Reasoning:
NovaTerm functions both as a fully featured terminal emulator (via xterm.js and Rust’s portable pty) and as a local AI coding assistant. Because its primary purpose is to act as a terminal workspace, it fundamentally requires unrestricted access to the host’s filesystem, installed binaries, system configurations, and development toolchains. Users expect a terminal emulator to run arbitrary commands, compile software, and navigate any directory on their system seamlessly. Strict confinement prevents the terminal from spawning host processes or accessing paths outside of predefined interface boundaries, which fundamentally breaks the core functionality of a terminal emulator and the AI agent’s ability to act upon the user’s local workspace.
[✓] I understand that strict confinement is generally preferred over classic.
[✓] I’ve tried the existing interfaces to make the snap work under strict confinement, but due to the unbounded nature of terminal commands and arbitrary filesystem access required by the AI assistant, standard interfaces are not sufficient.
It is plausible that there are technical reasons why novaterm needs classic to work properly in all scenarios, but please note that classic confinement is a sensitive matter and it is reserved for mature, well-known applications published by mature, well-known entities. As of today, I believe that novaterm doesn’t meet this criteria because of the following reasons:
The project seems to be very fresh, according to the upstream repository
The projects seems to have little/none community around according to upstream repository (contributors, issues, PRs, etc.)
I could not find evidences that the project has a strong enough user base currently
Thus, considering these factors, I think novaterm should not get classic confinement as of now.