How do I set up a Server Bookmark?

First test things by using the exact same URL string you would use from the command line. Thus, for instance, if you are using https as a connection method, the Server URL string would be:


If you are using ssh, you need to set up your ssh so that authentication is non-interactive, ie a password is never interactively requested each time a connection is established. In order to establish an ssh connection non-interactively you have two options (1) Set up your ssh keys to be passwordless, or (2) set up and use ssh-agent which will do a one time high level authentication the first time a connection is established.

So when pushing or pulling via http or https, you need to include the password in the hg command, and when using ssh you need to ensure that Mercurial does not interactively ask you for a password. (MacHg issues its commands in a non-interactive way; so if the underlying process needs to interactively ask what the password is, the connection will fail.) You can test and confirm that your connection is not interactively asking for the password by opening the terminal and trying a pull, clone or incoming from the repository on the server. An example:


(More details on passwordless logins and authentication are given here.)

Once you have connections (e.g. push, pull, clone, incoming, outgoing, identify) working non-interactively from the command line, you are then ready to use this server in MacHg. To add a new server, use the MacHg menu Repository > Add Server Repository and fill in the details like so:


(You can directly paste in the exact full URL you used while testing the connection in the terminal into the server URL field and MacHg will split out the username and password.)

Once the details are entered correctly, you should see that the connection has been made. You can view the details of the connection to see what worked or didn't work by clicking on the details button.


You can also test the connection in the terminal with the exact configuration that MacHg uses if you are still having problems using the 'Test in Terminal' button.

(Note all passwords are securely stored in your OSX keychain, and moreover your password will never be sent in clear text to the server.)