laurent22/joplin · error · Error
No text editor is defined. Please set it using `config edito
Error message
No text editor is defined. Please set it using `config editor <editor-path>`
What it means
The 'edit' command needs an external text editor to open the note. It resolves the editor path by checking Setting.value('editor') first, then process.env.EDITOR; if both are unset it throws 'No text editor is defined'. The message is i18n-translated.
Source
Thrown at packages/app-cli/app/command-edit.ts:30
public override usage() {
return 'edit <note>';
}
public override description() {
return _('Edit note.');
}
public override async action(args: { note: string }) {
let tempFilePath: string|null = null;
const onFinishedEditing = async () => {
if (tempFilePath) fs.removeSync(tempFilePath);
};
const textEditorPath = () => {
if (Setting.value('editor')) return Setting.value('editor');
if (process.env.EDITOR) return process.env.EDITOR;
throw new Error(_('No text editor is defined. Please set it using `config editor <editor-path>`'));
};
try {
// -------------------------------------------------------------------------
// Load note or create it if it doesn't exist
// -------------------------------------------------------------------------
const title = args['note'];
if (!app().currentFolder()) throw new Error(_('No active notebook.'));
let note = await app().loadItem(ModelType.Note, title);
this.encryptionCheck(note);
if (!note) {
const ok = await this.prompt(_('Note does not exist: "%s". Create it?', title));
if (!ok) return;
note = await Note.save({ title: title, parent_id: app().currentFolder().id });View on GitHub (pinned to 2654b33620)
Solutions
- Configure the editor in Joplin: 'config editor <editor-path>' (e.g. 'config editor vim').
- Export EDITOR in your shell (e.g. 'export EDITOR=nano') and relaunch.
- Ensure the configured binary is installed and on PATH.
- Use an absolute path to the editor if it is not on PATH.
Example fix
# before # joplin edit "my note" # throws: no editor # after # joplin config editor /usr/bin/nano # joplin edit "my note"
Defensive patterns
Strategy: validation
Validate before calling
const editor = Setting.value('editor') || process.env.EDITOR;
if (!editor) {
throw new Error('Set an editor first: `config editor <path>` or export EDITOR=<path>`');
} Prevention
- Run 'config editor <editor-path>' during initial setup.
- Export EDITOR in your shell profile as a fallback.
- Use an absolute path when the editor is not on PATH.
When it happens
Trigger: Running 'edit <note>' (or creating a note via edit) when no editor is configured in Joplin settings and the EDITOR environment variable is not set.
Common situations: First use on a machine with no EDITOR in the environment; settings reset; a headless/container environment with no editor installed.
Related errors
- More than one item match "%s". Please narrow down your query
- Cannot find "%s".
- No notebook selected.
- No notebook has been specified.
- The command "%s" is only available in GUI mode
AI-assisted analysis of laurent22/joplin@2654b33620 (2026-08-12).
Data as JSON: /api/errors/380b50a8a19743a3.
Report an issue: GitHub.