Back to Codeberg

read --host flag from environment #444

forgejo-contrib-forgejo-cli-issues-444.md

latest12.9 KB
Original Source

forgejo-contrib/forgejo-cli

Watch20

Star402

Fork

You've already forked forgejo-cli

51

CodeIssues 44Pull requests 8Releases 11Packages 2WikiActivity

read --host flag from environment #444

New issue

Open

opened 2026-04-29 10:32:57 +02:00 by CptKriechstrom · 4 comments

CptKriechstrom commented 2026-04-29 10:32:57 +02:00

Copy link

Feature description

Currently the --host flag has to be present when working outside of a repository. I'd like the forgejo cli to read that value from a FORGEJO_HOST environment variable if present.

Happy to create a PR if this request is accepted.

Motivation

When working with the forgejo cli on instance level it is cumbersome to always specify the --host flag

Code of Conduct

  • I agree to act in accordance with the CoC & AI Agreement.
  • This issue was not generated by an LLM, even in part.

Feature description Currently the --host flag has to be present when working outside of a repository. I'd like the forgejo cli to read that value from a FORGEJO_HOST environment variable if present. Happy to create a PR if this request is accepted. ### Motivation When working with the forgejo cli on instance level it is cumbersome to always specify the --host flag ### Code of Conduct - [x] I agree to act in accordance with the CoC & AI Agreement. - [x] This issue was not generated by an LLM, even in part.

CptKriechstrom added the Kind/Feature label 2026-04-29 10:32:57 +02:00

Cyborus commented 2026-04-29 15:22:05 +02:00

Member

Copy link

This exists, the FJ_FALLBACK_HOST variable. Evidently needs to be better documented!

This exists, the FJ_FALLBACK_HOST variable. Evidently needs to be better documented!

CptKriechstrom commented 2026-04-29 20:19:44 +02:00

Author

Copy link

As far as I can see this is just a fallback for the repo subcommand. FJ_FALLBACK_HOST=fj.example.org org list will not work. Also, using clap's env feature would solve the documentation issue

text
Usage: fj [OPTIONS] <COMMAND>

Commands:
  repo
  ...
  help Print this message or the help of the given subcommand(s)

Options:
  -H, --host <HOST>
          [env: FORGEJO_HOST=]

As far as I can see this is just a fallback for the repo subcommand. FJ_FALLBACK_HOST=fj.example.org org list will not work. Also, using clap's env feature would solve the documentation issue Usage: fj [OPTIONS] \<COMMAND\> Commands: repo ... help Print this message or the help of the given subcommand(s) Options: -H, --host \<HOST\> [env: FORGEJO_HOST=]

Cyborus commented 2026-04-30 00:30:59 +02:00

Member

Copy link

@CptKriechstrom wrote in #444 (comment):

FJ_FALLBACK_HOST=fj.example.org org list will not work.

FJ_FALLBACK_HOST=https://fj.example.org/ fj org list will.

@CptKriechstrom wrote in https://codeberg.org/forgejo-contrib/forgejo-cli/issues/444#issuecomment-14013548: > FJ_FALLBACK_HOST=fj.example.org org list will not work. FJ_FALLBACK_HOST=https://fj.example.org/ fj org list will.

cristoslc commented 2026-05-01 22:42:33 +02:00

Copy link

Appreciate the discussion here. I'm seeing the same problem with env vars, exacerbated when inside a git project.

Currently working around it via a .zshrc alias to always specify --host, but that's not super portable.

Repro steps:

  1. git clone git@forgejo-localhost:<user>/<project>.git
  2. cd <project> # enter project dir with SSH remote
  3. fj auth add-key -H http://localhost:3000 # auth works
  4. FORGEJO_HOST=http://localhost:3000 fj repo view # uses https://forgejo-localhost instead of http://localhost:3000
  5. FJ_FALLBACK_HOST=http://localhost:3000 fj repo view # uses https://forgejo-localhost instead of http://localhost:3000

(AI assisted with collecting environment details and summarizing test results below.)

Environment

  • macOS, fj v0.5.0 installed via uv tool
  • Docker Forgejo 10.0.3+gitea-1.22.0 at http://localhost:3000
  • Git remote set to SSH alias: git@forgejo-localhost:user/project.git
  • SSH config maps forgejo-localhost → localhost:2222

Testing results outside a repo:

CommandResult
FORGEJO_HOST=http://localhost:3000 fj whoamiNo effect — error: "could not find host"
FJ_FALLBACK_HOST=http://localhost:3000 fj whoamiWorks — returns "user@localhost:3000"

Inside a git repo with SSH remote (git@forgejo-localhost:user/project.git):

CommandResult
FORGEJO_HOST=http://localhost:3000 fj repo viewIgnored — tries https://forgejo-localhost:443
FJ_FALLBACK_HOST=http://localhost:3000 fj repo viewIgnored — tries https://forgejo-localhost:443

Both env vars are completely ignored when a git remote exists.

Appreciate the discussion here. I'm seeing the same problem with env vars, exacerbated when inside a git project. Currently working around it via a .zshrc alias to always specify --host, but that's not super portable. Repro steps: 1. git clone git@forgejo-localhost:\<user\>/\<project\>.git 2. cd \<project\> # enter project dir with SSH remote 3. fj auth add-key -H http://localhost:3000 # auth works 4. FORGEJO_HOST=http://localhost:3000 fj repo view # uses https://forgejo-localhost instead of http://localhost:3000 5. FJ_FALLBACK_HOST=http://localhost:3000 fj repo view # uses https://forgejo-localhost instead of http://localhost:3000 _(AI assisted with collecting environment details and summarizing test results below.)_ > Environment > - macOS, fj v0.5.0 installed via uv tool > - Docker Forgejo 10.0.3+gitea-1.22.0 at http://localhost:3000 > - Git remote set to SSH alias: git@forgejo-localhost:user/project.git > - SSH config maps forgejo-localhost → localhost:2222 > > Testing results outside a repo: > > | Command | Result | > |---------|--------| > | FORGEJO_HOST=http://localhost:3000 fj whoami | No effect — error: "could not find host" | > | FJ_FALLBACK_HOST=http://localhost:3000 fj whoami | Works — returns "user@localhost:3000" | > > Inside a git repo with SSH remote (git@forgejo-localhost:user/project.git): > > | Command | Result | > |---------|--------| > | FORGEJO_HOST=http://localhost:3000 fj repo view | Ignored — tries https://forgejo-localhost:443 | > | FJ_FALLBACK_HOST=http://localhost:3000 fj repo view | Ignored — tries https://forgejo-localhost:443 | > > > Both env vars are completely ignored when a git remote exists.

Sign in to join this conversation.

No Branch/Tag specified

BranchesTags

main

renovate/lock-file-maintenance

renovate/serde-saphyr-0.x

docs/contributing

no-port-in-refspec

login/v16.next.forgejo.org

crates-io-publish

0.5.x

compile-time-fluent

0.4.x

localization-alias-demo

api_url_field

v0.5.0

v0.4.1

v0.4.0

v0.3.0

v0.2.0

v0.1.1

v0.1.0

v0.0.4

v0.0.3

v0.0.2

v0.0.1

Labels

Clear labels[ Kind/Breaking Breaking change that won't be backward compatible

](#)[ Kind/Bug Something is not working

](#)[ Kind/Design Discussion about UI/UX design

](#)[ Kind/Documentation Documentation changes

](#)[ Kind/Enhancement Improve existing functionality

](#)[ Kind/Feature New functionality

](#)[ Kind/Security This is security issue

](#)[ Kind/Testing Issue or pull request related to testing

](#)[ Kind/Upstream This is an issue with upstream software (Forgejo) that is probably not our fault

](#)

[ Priority

Critical The priority is critical

](#)[ Priority

High The priority is high

](#)[ Priority

Low The priority is low

](#)[ Priority

Medium The priority is medium

](#)

[ Reviewed

Confirmed Issue has been confirmed

](#)[ Reviewed

Duplicate This issue or pull request already exists

](#)[ Reviewed

Invalid Invalid issue

](#)[ Reviewed

Won't Fix This issue won't be fixed

](#)

[ Status

Abandoned Somebody has started to work on this but abandoned work

](#)[ Status

Blocked Something is blocking this issue or pull request

](#)[ Status

Need More Info Feedback is required to reproduce issue or to continue work

](#)

[ Suspicious

](#)

No labels Kind/Breaking Kind/Bug Kind/Design Kind/Documentation Kind/Enhancement Kind/Feature Kind/Security Kind/Testing Kind/Upstream [ Priority

Critical ](/forgejo-contrib/forgejo-cli/issues?labels=173012) [ Priority

High ](/forgejo-contrib/forgejo-cli/issues?labels=173013) [ Priority

Low ](/forgejo-contrib/forgejo-cli/issues?labels=173015) [ Priority

Medium ](/forgejo-contrib/forgejo-cli/issues?labels=173014) [ Reviewed

Confirmed ](/forgejo-contrib/forgejo-cli/issues?labels=173007) [ Reviewed

Duplicate ](/forgejo-contrib/forgejo-cli/issues?labels=173005) [ Reviewed

Invalid ](/forgejo-contrib/forgejo-cli/issues?labels=173006) [ Reviewed

Won't Fix ](/forgejo-contrib/forgejo-cli/issues?labels=173008) [ Status

Abandoned ](/forgejo-contrib/forgejo-cli/issues?labels=173011) [ Status

Blocked ](/forgejo-contrib/forgejo-cli/issues?labels=173010) [ Status

Need More Info ](/forgejo-contrib/forgejo-cli/issues?labels=173009) Suspicious

Milestone

Clear milestone

No items

No milestone

Projects

Clear projects

No items

No project

Assignees

Clear assignees

No assignees

3 participants

Notifications Subscribe

Due date

The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference

forgejo-contrib/forgejo-cli#444

WritePreview

Loading…

Add table

| Rows | | | Columns | |

CancelOK

Add a link

Url Description Hint: With a URL in your clipboard, you can paste directly into the editor to create a link.

CancelOK

CancelSave

Reference in a new issue

Repository

forgejo-contrib/forgejo-cli

Title

Body

Create issue

No description provided.

Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?

No Yes