zed-industries/zed · warning · Error
Message id is undefined: ${JSON.stringify(message)}
Error message
Message id is undefined: ${JSON.stringify(message)} What it means
github_raw_url parses the URL pasted into the skill-import field and rejects any scheme other than https before any network call is made. The importer only fetches encrypted GitHub traffic, so http://, git://, ftp:// and friends are refused. This is an input-validation error shown in the import UI, not a network failure.
Source
Thrown at crates/prettier/src/prettier_server.js:162
} finally {
process.stdin.off("data", () => {});
}
}
async function handleMessage(message, prettier) {
const { method, id, params } = message;
if (method === undefined) {
throw new Error(`Message method is undefined: ${JSON.stringify(message)}`);
} else if (method == "initialized") {
return;
} else if (method === "shutdown") {
sendResponse({ result: {} });
} else if (method == "exit") {
process.exit(0);
}
if (id === undefined) {
throw new Error(`Message id is undefined: ${JSON.stringify(message)}`);
}
if (method === "prettier/format") {
if (params === undefined || params.text === undefined) {
throw new Error(`Message params.text is undefined: ${JSON.stringify(message)}`);
}
if (params.options === undefined) {
throw new Error(`Message params.options is undefined: ${JSON.stringify(message)}`);
}
let resolvedConfig = {};
if (params.options.filepath) {
resolvedConfig = (await prettier.prettier.resolveConfig(params.options.filepath, { editorconfig: true })) || {};
if (params.options.ignorePath) {
const fileInfo = await prettier.prettier.getFileInfo(params.options.filepath, {
ignorePath: params.options.ignorePath,
});View on GitHub (pinned to f4178619ac)
Solutions
- Change the URL prefix to https://
- Copy the link again from the GitHub file page address bar, which always yields https
Example fix
# before http://github.com/acme/skills/blob/main/SKILL.md # after https://github.com/acme/skills/blob/main/SKILL.md
Defensive patterns
Strategy: validation
Validate before calling
// Before submitting the import form (same crate exposes this helper):
if !is_supported_skill_url(&input) {
show_inline_hint("Use an https:// GitHub .md URL");
return;
}
// Or the minimal scheme check:
if !input.trim().starts_with("https://") {
show_inline_hint("GitHub skill URLs must use https://");
} Type guard
fn is_https_url(input: &str) -> bool {
url::Url::parse(input.trim()).map(|u| u.scheme() == "https").unwrap_or(false)
} Prevention
- Copy URLs from the GitHub address bar so the scheme is always https
- Run URLs through is_supported_skill_url before enabling the import button
When it happens
Trigger: Pasting a URL whose scheme is explicitly not https: http://github.com/owner/repo/blob/main/SKILL.md, git://github.com/..., or ssh://git@github.com/...
Common situations: A clipboard manager or browser downgraded the copied URL to http; the user typed the URL by hand and wrote http; the link came from an internal mirror that serves plain http.
Related errors
- OAuth endpoint must use HTTPS (got {}://{})
- Message method is undefined: ${JSON.stringify(message)}
- Message params.text is undefined: ${JSON.stringify(message)}
- Message params.options is undefined: ${JSON.stringify(messag
- Unknown method: ${method}
AI-assisted analysis of zed-industries/zed@f4178619ac (2026-08-20).
Data as JSON: /api/errors/f9d696a0587befb9.
Report an issue: GitHub.