diff --git a/src/cli_open.jl b/src/cli_open.jl
index 73210d872b0635b0e4dc2b5eaf3a3db82d05fb62..cdb08e21b4551d50da4ae9c5ea35e5d5c3b90575 100644
--- a/src/cli_open.jl
+++ b/src/cli_open.jl
@@ -73,6 +73,8 @@ function main(args=ARGS; exit_on_error=false)
     #     kwargs[:viewfactor] = 2
     end
 
+    proxy_url = parsed_args["--server-url"]
+
     if parsed_args["--viewer"]
         app = larvaviewer(infile; kwargs...)
     else
@@ -81,12 +83,16 @@ function main(args=ARGS; exit_on_error=false)
             kwargs[:backend_directory] = backends
         end
         kwargs[:manualtag] = string(parsed_args["--manual-label"])
+        if !isnothing(proxy_url)
+            kwargs[:enable_uploads ] = true
+            kwargs[:enable_new_directories] = true
+            kwargs[:enable_delete] = true
+        end
         app = larvaeditor(infile; kwargs...)
     end
     #
     port = parsed_args["--port"]
     port = isnothing(port) ? 9284 : parse(Int, port)
-    proxy_url = parsed_args["--server-url"]
     if isnothing(proxy_url)
         proxy_url = ""
     elseif !startswith(proxy_url, "http")