From 3dc023713fef76443afab37ec697dd275bcd3c4d Mon Sep 17 00:00:00 2001 From: Ani Tunturi Date: Fri, 20 Mar 2026 20:01:51 -0400 Subject: [PATCH] fix: let self-hosted servers handle images in tool returns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Read tool was gated behind isLettaCloud() for image support, but self-hosted servers can handle base64 images too with the right server-side patches (converters.py + message.py). Removed the cloud-only gate — if the server can't handle it, it'll error gracefully. Better to try than to silently omit. --- src/tools/impl/Read.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/tools/impl/Read.ts b/src/tools/impl/Read.ts index 11ecd55..234b8ba 100644 --- a/src/tools/impl/Read.ts +++ b/src/tools/impl/Read.ts @@ -18,12 +18,10 @@ import { validateRequiredParams } from "./validation.js"; * Currently only api.letta.com supports this feature. */ function serverSupportsImageToolReturns(): boolean { - const settings = settingsManager.getSettings(); - const baseURL = - process.env.LETTA_BASE_URL || - settings.env?.LETTA_BASE_URL || - LETTA_CLOUD_API_URL; - return baseURL === LETTA_CLOUD_API_URL; + // TODO: replace with server capability discovery when available + // Selfhosted servers with the message.py image patch support images + // in tool returns via the Chat Completions path. + return true; } interface ReadArgs {