[GH-ISSUE #16567] issue: JSON function import broken #17962

Closed
opened 2026-04-19 23:51:46 -05:00 by GiteaMirror · 1 comment
Owner

Originally created by @recallmenot on GitHub (Aug 13, 2025).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/16567

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.6.22

Ollama Version (if applicable)

No response

Operating System

arch

Browser (if applicable)

Brave 1.80.120 (Chromium 138.0.7204.101), Firefox 141.0

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have provided every relevant configuration, setting, and environment variable used in my setup.
  • I have clearly listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc).
  • I have documented step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation. My steps:
  • Start with the initial platform/version/OS and dependencies used,
  • Specify exact install/launch/configure commands,
  • List URLs visited, user input (incl. example values/emails/passwords if needed),
  • Describe all options and toggles enabled or changed,
  • Include any files or environmental changes,
  • Identify the expected and actual result at each stage,
  • Ensure any reasonably skilled user can follow and hit the same issue.

Expected Behavior

Adding a function from a JSON file should work.

Actual Behavior

Two notifications in open-webui:

Functions imported successfully
[object Object],[object Object],[object Object]

Steps to Reproduce

  1. docker rm -f open-webui
  2. stock install: docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
  3. procure any JSON function file like chat_metrics
  4. go to http://0.0.0.0:3000/admin/functions
  5. import function json with "import functions" button
  6. confirm

Logs & Screenshots

docker container logs open-webui shows nothing of interest.
In the browser console however, I get this:

index.ts:6 
 POST http://0.0.0.0:3000/api/v1/functions/create 422 (Unprocessable Entity)
s	@	index.ts:6
De.g.onload	@	Functions.svelte:630
FileReader		
De	@	Functions.svelte:648
L	@	ConfirmDialog.svelte:57
await in L		
h	@	ConfirmDialog.svelte:155
index.ts:23 
{detail: Array(3)}
detail
: 
Array(3)
0
: 
{type: 'missing', loc: Array(2), msg: 'Field required', input: {…}}
1
: 
{type: 'missing', loc: Array(2), msg: 'Field required', input: {…}}
2
: 
{type: 'missing', loc: Array(2), msg: 'Field required', input: {…}}
length
: 
3
[[Prototype]]
: 
Array(0)
[[Prototype]]
: 
Object
constructor
: 
ƒ Object()
hasOwnProperty
: 
ƒ hasOwnProperty()
isPrototypeOf
: 
ƒ isPrototypeOf()
propertyIsEnumerable
: 
ƒ propertyIsEnumerable()
toLocaleString
: 
ƒ toLocaleString()
toString
: 
ƒ toString()
valueOf
: 
ƒ valueOf()
__defineGetter__
: 
ƒ __defineGetter__()
__defineSetter__
: 
ƒ __defineSetter__()
__lookupGetter__
: 
ƒ __lookupGetter__()
__lookupSetter__
: 
ƒ __lookupSetter__()
__proto__
: 
(...)
get __proto__
: 
ƒ __proto__()
set __proto__
: 
ƒ __proto__()
(anonymous)	@	index.ts:23
Promise.catch		
s	@	index.ts:21
De.g.onload	@	Functions.svelte:630
FileReader		
De	@	Functions.svelte:648
L	@	ConfirmDialog.svelte:57
await in L		
h	@	ConfirmDialog.svelte:155

Additional Information

Importing the functions from their https://openwebui.com/f page by providing the local URL works fine.
I think the JSON file import is important for safety: openwebui.com could in theory be hacked and I don't like to expose local addresses to whatever javascript runs on any website.
Also, devs need this probably?

Originally created by @recallmenot on GitHub (Aug 13, 2025). Original GitHub issue: https://github.com/open-webui/open-webui/issues/16567 ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.6.22 ### Ollama Version (if applicable) _No response_ ### Operating System arch ### Browser (if applicable) Brave 1.80.120 (Chromium 138.0.7204.101), Firefox 141.0 ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have **provided every relevant configuration, setting, and environment variable used in my setup.** - [x] I have clearly **listed every relevant configuration, custom setting, environment variable, and command-line option that influences my setup** (such as Docker Compose overrides, .env values, browser settings, authentication configurations, etc). - [x] I have documented **step-by-step reproduction instructions that are precise, sequential, and leave nothing to interpretation**. My steps: - Start with the initial platform/version/OS and dependencies used, - Specify exact install/launch/configure commands, - List URLs visited, user input (incl. example values/emails/passwords if needed), - Describe all options and toggles enabled or changed, - Include any files or environmental changes, - Identify the expected and actual result at each stage, - Ensure any reasonably skilled user can follow and hit the same issue. ### Expected Behavior Adding a function from a JSON file should work. ### Actual Behavior Two notifications in open-webui: ``` Functions imported successfully [object Object],[object Object],[object Object] ``` ### Steps to Reproduce 1. `docker rm -f open-webui` 2. stock install: `docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main` 3. procure any JSON function file like [chat_metrics](https://openwebui.com/f/constliakos/chat_metrics) 4. go to `http://0.0.0.0:3000/admin/functions` 5. import function json with "import functions" button 6. confirm ### Logs & Screenshots `docker container logs open-webui` shows nothing of interest. In the browser console however, I get this: ``` index.ts:6 POST http://0.0.0.0:3000/api/v1/functions/create 422 (Unprocessable Entity) s @ index.ts:6 De.g.onload @ Functions.svelte:630 FileReader De @ Functions.svelte:648 L @ ConfirmDialog.svelte:57 await in L h @ ConfirmDialog.svelte:155 index.ts:23 {detail: Array(3)} detail : Array(3) 0 : {type: 'missing', loc: Array(2), msg: 'Field required', input: {…}} 1 : {type: 'missing', loc: Array(2), msg: 'Field required', input: {…}} 2 : {type: 'missing', loc: Array(2), msg: 'Field required', input: {…}} length : 3 [[Prototype]] : Array(0) [[Prototype]] : Object constructor : ƒ Object() hasOwnProperty : ƒ hasOwnProperty() isPrototypeOf : ƒ isPrototypeOf() propertyIsEnumerable : ƒ propertyIsEnumerable() toLocaleString : ƒ toLocaleString() toString : ƒ toString() valueOf : ƒ valueOf() __defineGetter__ : ƒ __defineGetter__() __defineSetter__ : ƒ __defineSetter__() __lookupGetter__ : ƒ __lookupGetter__() __lookupSetter__ : ƒ __lookupSetter__() __proto__ : (...) get __proto__ : ƒ __proto__() set __proto__ : ƒ __proto__() (anonymous) @ index.ts:23 Promise.catch s @ index.ts:21 De.g.onload @ Functions.svelte:630 FileReader De @ Functions.svelte:648 L @ ConfirmDialog.svelte:57 await in L h @ ConfirmDialog.svelte:155 ``` ### Additional Information Importing the functions from their https://openwebui.com/f page by providing the local URL works fine. I think the JSON file import is important for safety: openwebui.com could in theory be hacked and I don't like to expose local addresses to whatever javascript runs on any website. Also, devs need this probably?
GiteaMirror added the bug label 2026-04-19 23:51:46 -05:00
Author
Owner

@tjbck commented on GitHub (Aug 13, 2025):

#16430

<!-- gh-comment-id:3184587799 --> @tjbck commented on GitHub (Aug 13, 2025): #16430
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#17962